// /usr/libexec/gcc/x86_64-pc-linux-gnu/4.1.2/cc1plus -fpreprocessed blah.ii -quiet -dumpbase blah.ii -march=athlon64 -auxbase blah -O2 -o - -frandom-seed=0 # 1 "generators/unix/unixmake2.cpp" # 1 "" # 1 "" # 1 "generators/unix/unixmake2.cpp" # 39 "generators/unix/unixmake2.cpp" # 1 "generators/unix/unixmake.h" 1 # 42 "generators/unix/unixmake.h" # 1 "generators/makefile.h" 1 # 42 "generators/makefile.h" # 1 "./option.h" 1 # 42 "./option.h" # 1 "./project.h" 1 # 42 "./project.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstringlist.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringlist.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringlist.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qalgorithms.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qalgorithms.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qalgorithms.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qglobal.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 152 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4 typedef long int ptrdiff_t; # 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4 typedef long unsigned int size_t; # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" 2 # 57 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qconfig.h" 1 # 58 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" 2 # 609 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" typedef signed char qint8; typedef unsigned char quint8; typedef short qint16; typedef unsigned short quint16; typedef int qint32; typedef unsigned int quint32; # 623 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" typedef long long qint64; typedef unsigned long long quint64; typedef qint64 qlonglong; typedef quint64 qulonglong; # 653 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" template class QUintForSize { private: typedef void Type; }; template <> class QUintForSize<4> { public: typedef quint32 Type; }; template <> class QUintForSize<8> { public: typedef quint64 Type; }; template class QUintForType : public QUintForSize { }; typedef QUintForType::Type quintptr; template class QIntForSize { private: typedef void Type; }; template <> class QIntForSize<4> { public: typedef qint32 Type; }; template <> class QIntForSize<8> { public: typedef qint64 Type; }; template class QIntForType : public QIntForSize { }; typedef QIntForType::Type qptrdiff; typedef unsigned char uchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; # 697 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" # 837 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" typedef int QNoImplicitBoolCast; # 848 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" typedef double qreal; template inline T qAbs(const T &t) { return t >= 0 ? t : -t; } inline int qRound(qreal d) { return d >= 0.0 ? int(d + 0.5) : int(d - int(d-1) + 0.5) + int(d-1); } inline qint64 qRound64(qreal d) { return d >= 0.0 ? qint64(d + 0.5) : qint64(d - qint64(d-1) + 0.5) + qint64(d-1); } template inline const T &qMin(const T &a, const T &b) { if (a < b) return a; return b; } template inline const T &qMax(const T &a, const T &b) { if (a < b) return b; return a; } template inline const T &qBound(const T &min, const T &val, const T &max) { return qMax(min, qMin(max, val)); } # 901 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" class QDataStream; # 937 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qfeatures.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qfeatures.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qfeatures.h" 2 # 938 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" 2 # 1104 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" class QString; class QSysInfo { public: enum Sizes { WordSize = (sizeof(void *)<<3) }; enum Endian { BigEndian, LittleEndian }; static const int ByteOrder; # 1180 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" }; const char *qVersion(); bool qSharedBuild(); # 1251 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" void qDebug(const char *, ...) __attribute__ ((format (printf, 1, 2))) ; void qWarning(const char *, ...) __attribute__ ((format (printf, 1, 2))) ; class QString; QString qt_error_string(int errorCode = -1); void qCritical(const char *, ...) __attribute__ ((format (printf, 1, 2))) ; void qFatal(const char *, ...) __attribute__ ((format (printf, 1, 2))) ; void qErrnoWarning(int code, const char *msg, ...); void qErrnoWarning(const char *msg, ...); # 1291 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" class QDebug; class QNoDebug; inline QDebug qDebug(); inline QDebug qWarning(); inline QDebug qCritical(); # 1310 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" inline void qt_noop() {} void qt_assert(const char *assertion, const char *file, int line); # 1326 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" void qt_assert_x(const char *where, const char *what, const char *file, int line); # 1336 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" void qt_check_pointer(const char *, int); # 1371 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" enum QtMsgType { QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg, QtSystemMsg = QtCriticalMsg }; void qt_message_output(QtMsgType, const char *buf); typedef void (*QtMsgHandler)(QtMsgType, const char *); QtMsgHandler qInstallMsgHandler(QtMsgHandler); # 1385 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" template class QGlobalStatic { public: T *pointer; inline QGlobalStatic(T *p) : pointer(p) { } inline ~QGlobalStatic() { pointer = 0; } }; # 1481 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" class QBool { bool b; public: inline explicit QBool(bool B) : b(B) {} inline operator const void *() const { return b ? static_cast(this) : static_cast(0); } }; inline bool operator==(QBool b1, bool b2) { return !b1 == !b2; } inline bool operator==(bool b1, QBool b2) { return !b1 == !b2; } inline bool operator==(QBool b1, QBool b2) { return !b1 == !b2; } inline bool operator!=(QBool b1, bool b2) { return !b1 != !b2; } inline bool operator!=(bool b1, QBool b2) { return !b1 != !b2; } inline bool operator!=(QBool b1, QBool b2) { return !b1 != !b2; } static inline bool qFuzzyCompare(double p1, double p2) { return qAbs(p1 - p2) < 0.00000000001; } static inline bool qFuzzyCompare(float p1, float p2) { return qAbs(p1 - p2) < 0.000001; } static inline bool qIsNull(double d) { union U { double d; quint64 u; }; U val; val.d = d; return val.u == quint64(0); } static inline bool qIsNull(float f) { union U { float f; quint32 u; }; U val; val.f = f; return val.u == 0u; } # 1571 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" template inline bool qIsDetached(T &) { return true; } template class QTypeInfo { public: enum { isPointer = false, isComplex = true, isStatic = true, isLarge = (sizeof(T)>sizeof(void*)), isDummy = false }; }; template class QTypeInfo { public: enum { isPointer = true, isComplex = false, isStatic = false, isLarge = false, isDummy = false }; }; # 1629 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" enum { Q_COMPLEX_TYPE = 0, Q_PRIMITIVE_TYPE = 0x1, Q_STATIC_TYPE = 0, Q_MOVABLE_TYPE = 0x2, Q_DUMMY_TYPE = 0x4 }; # 1692 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(bool)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "bool"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(char)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "char"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(signed char)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "signed char"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(uchar)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "uchar"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(short)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "short"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(ushort)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "ushort"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(int)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "int"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(uint)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "uint"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(long)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "long"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(ulong)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "ulong"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(qint64)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "qint64"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(quint64)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "quint64"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(float)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "float"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(double)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "double"; } }; template <> class QTypeInfo { public: enum { isComplex = (((Q_PRIMITIVE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_PRIMITIVE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(long double)>sizeof(void*)), isPointer = false, isDummy = (((Q_PRIMITIVE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "long double"; } }; void *qMalloc(size_t size); void qFree(void *ptr); void *qRealloc(void *ptr, size_t size); void *qMemCopy(void *dest, const void *src, size_t n); void *qMemSet(void *dest, int c, size_t n); # 1755 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" class QFlag { int i; public: inline QFlag(int i); inline operator int() const { return i; } }; inline QFlag::QFlag(int ai) : i(ai) {} template class QFlags { typedef void **Zero; int i; public: typedef Enum enum_type; inline QFlags(const QFlags &f) : i(f.i) {} inline QFlags(Enum f) : i(f) {} inline QFlags(Zero = 0) : i(0) {} inline QFlags(QFlag f) : i(f) {} inline QFlags &operator=(const QFlags &f) { i = f.i; return *this; } inline QFlags &operator&=(int mask) { i &= mask; return *this; } inline QFlags &operator&=(uint mask) { i &= mask; return *this; } inline QFlags &operator|=(QFlags f) { i |= f.i; return *this; } inline QFlags &operator|=(Enum f) { i |= f; return *this; } inline QFlags &operator^=(QFlags f) { i ^= f.i; return *this; } inline QFlags &operator^=(Enum f) { i ^= f; return *this; } inline operator int() const { return i; } inline QFlags operator|(QFlags f) const { QFlags g; g.i = i | f.i; return g; } inline QFlags operator|(Enum f) const { QFlags g; g.i = i | f; return g; } inline QFlags operator^(QFlags f) const { QFlags g; g.i = i ^ f.i; return g; } inline QFlags operator^(Enum f) const { QFlags g; g.i = i ^ f; return g; } inline QFlags operator&(int mask) const { QFlags g; g.i = i & mask; return g; } inline QFlags operator&(uint mask) const { QFlags g; g.i = i & mask; return g; } inline QFlags operator&(Enum f) const { QFlags g; g.i = i & f; return g; } inline QFlags operator~() const { QFlags g; g.i = ~i; return g; } inline bool operator!() const { return !i; } inline bool testFlag(Enum f) const { return i & f; } private: }; # 1827 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" template class QForeachContainer { public: inline QForeachContainer(const T& t) : c(t), brk(0), i(c.begin()), e(c.end()) { } const T c; int brk; typename T::const_iterator i, e; }; # 1939 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" class QByteArray; QByteArray qgetenv(const char *varName); inline int qIntCast(double f) { return int(f); } inline int qIntCast(float f) { return int(f); } void qsrand(uint seed); int qrand(); # 2031 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qglobal.h" enum QtValidLicenseForCoreModule { LicensedCore = true }; enum QtValidLicenseForGuiModule { LicensedGui = true }; enum QtValidLicenseForNetworkModule { LicensedNetwork = true }; enum QtValidLicenseForOpenGLModule { LicensedOpenGL = true }; enum QtValidLicenseForSqlModule { LicensedSql = true }; enum QtValidLicenseForXmlModule { LicensedXml = true }; enum QtValidLicenseForScriptModule { LicensedScript = true }; enum QtValidLicenseForQt3SupportLightModule { LicensedQt3SupportLight = true }; enum QtValidLicenseForQt3SupportModule { LicensedQt3Support = true }; enum QtValidLicenseForSvgModule { LicensedSvg = true }; enum QtValidLicenseForActiveQtModule { LicensedActiveQt = true }; # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qglobal.h" 2 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qalgorithms.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; namespace QAlgorithmsPrivate { template void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); template inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy); template void qStableSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan); template inline void qStableSortHelper(RandomAccessIterator, RandomAccessIterator, const T &); template RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); template RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); template RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan); } template inline OutputIterator qCopy(InputIterator begin, InputIterator end, OutputIterator dest) { while (begin != end) *dest++ = *begin++; return dest; } template inline BiIterator2 qCopyBackward(BiIterator1 begin, BiIterator1 end, BiIterator2 dest) { while (begin != end) *--dest = *--end; return dest; } template inline bool qEqual(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2) { for (; first1 != last1; ++first1, ++first2) if (!(*first1 == *first2)) return false; return true; } template inline void qFill(ForwardIterator first, ForwardIterator last, const T &val) { for (; first != last; ++first) *first = val; } template inline void qFill(Container &container, const T &val) { qFill(container.begin(), container.end(), val); } template inline InputIterator qFind(InputIterator first, InputIterator last, const T &val) { while (first != last && !(*first == val)) ++first; return first; } template inline typename Container::const_iterator qFind(const Container &container, const T &val) { return qFind(container.constBegin(), container.constEnd(), val); } template inline void qCount(InputIterator first, InputIterator last, const T &value, Size &n) { for (; first != last; ++first) if (*first == value) ++n; } template inline void qCount(const Container &container, const T &value, Size &n) { qCount(container.constBegin(), container.constEnd(), value, n); } # 147 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qalgorithms.h" template inline void qSwap(T &value1, T &value2) { T t = value1; value1 = value2; value2 = t; } # 167 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qalgorithms.h" template class qLess { public: inline bool operator()(const T &t1, const T &t2) const { return (t1 < t2); } }; template class qGreater { public: inline bool operator()(const T &t1, const T &t2) const { return (t2 < t1); } }; template inline void qSort(RandomAccessIterator start, RandomAccessIterator end) { if (start != end) QAlgorithmsPrivate::qSortHelper(start, end, *start); } template inline void qSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) { if (start != end) QAlgorithmsPrivate::qSortHelper(start, end, *start, lessThan); } template inline void qSort(Container &c) { if (!c.empty()) QAlgorithmsPrivate::qSortHelper(c.begin(), c.end(), *c.begin()); } template inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end) { if (start != end) QAlgorithmsPrivate::qStableSortHelper(start, end, *start); } template inline void qStableSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan) { if (start != end) QAlgorithmsPrivate::qStableSortHelper(start, end, *start, lessThan); } template inline void qStableSort(Container &c) { if (!c.empty()) QAlgorithmsPrivate::qStableSortHelper(c.begin(), c.end(), *c.begin()); } template RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) { RandomAccessIterator middle; int n = end - begin; int half; while (n > 0) { half = n >> 1; middle = begin + half; if (*middle < value) { begin = middle + 1; n -= half + 1; } else { n = half; } } return begin; } template RandomAccessIterator qLowerBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { return QAlgorithmsPrivate::qLowerBoundHelper(begin, end, value, lessThan); } template typename Container::const_iterator qLowerBound(const Container &container, const T &value) { return QAlgorithmsPrivate::qLowerBoundHelper(container.constBegin(), container.constEnd(), value, qLess()); } template RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value) { RandomAccessIterator middle; int n = end - begin; int half; while (n > 0) { half = n >> 1; middle = begin + half; if (value < *middle) { n = half; } else { begin = middle + 1; n -= half + 1; } } return begin; } template RandomAccessIterator qUpperBound(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { return QAlgorithmsPrivate::qUpperBoundHelper(begin, end, value, lessThan); } template typename Container::const_iterator qUpperBound(const Container &container, const T &value) { return QAlgorithmsPrivate::qUpperBoundHelper(container.constBegin(), container.constEnd(), value, qLess()); } template RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value) { int l = 0; int r = end - begin - 1; if (r < 0) return end; int i = (l + r + 1) / 2; while (r != l) { if (value < begin[i]) r = i - 1; else l = i; i = (l + r + 1) / 2; } if (begin[i] < value || value < begin[i]) return end; else return begin + i; } template RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { return QAlgorithmsPrivate::qBinaryFindHelper(begin, end, value, lessThan); } template typename Container::const_iterator qBinaryFind(const Container &container, const T &value) { return QAlgorithmsPrivate::qBinaryFindHelper(container.constBegin(), container.constEnd(), value, qLess()); } template void qDeleteAll(ForwardIterator begin, ForwardIterator end) { while (begin != end) { delete *begin; ++begin; } } template inline void qDeleteAll(const Container &c) { qDeleteAll(c.begin(), c.end()); } namespace QAlgorithmsPrivate { template void qSortHelper(RandomAccessIterator start, RandomAccessIterator end, const T &t, LessThan lessThan) { top: int span = end - start; if (span < 2) return; --end; RandomAccessIterator low = start, high = end - 1; RandomAccessIterator pivot = start + span / 2; if (lessThan(*end, *start)) qSwap(*end, *start); if (span == 2) return; if (lessThan(*pivot, *start)) qSwap(*pivot, *start); if (lessThan(*end, *pivot)) qSwap(*end, *pivot); if (span == 3) return; qSwap(*pivot, *end); while (low < high) { while (low < high && lessThan(*low, *end)) ++low; while (high > low && lessThan(*end, *high)) --high; if (low < high) { qSwap(*low, *high); ++low; --high; } else { break; } } if (lessThan(*low, *end)) ++low; qSwap(*end, *low); qSortHelper(start, low, t, lessThan); start = low + 1; ++end; goto top; } template inline void qSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) { qSortHelper(begin, end, dummy, qLess()); } template void qReverse(RandomAccessIterator begin, RandomAccessIterator end) { --end; while (begin < end) qSwap(*begin++, *end--); } template void qRotate(RandomAccessIterator begin, RandomAccessIterator middle, RandomAccessIterator end) { qReverse(begin, middle); qReverse(middle, end); qReverse(begin, end); } template void qMerge(RandomAccessIterator begin, RandomAccessIterator pivot, RandomAccessIterator end, T &t, LessThan lessThan) { const int len1 = pivot - begin; const int len2 = end - pivot; if (len1 == 0 || len2 == 0) return; if (len1 + len2 == 2) { if (lessThan(*(begin + 1), *(begin))) qSwap(*begin, *(begin + 1)); return; } RandomAccessIterator firstCut; RandomAccessIterator secondCut; int len2Half; if (len1 > len2) { const int len1Half = len1 / 2; firstCut = begin + len1Half; secondCut = qLowerBound(pivot, end, *firstCut, lessThan); len2Half = secondCut - pivot; } else { len2Half = len2 / 2; secondCut = pivot + len2Half; firstCut = qUpperBound(begin, pivot, *secondCut, lessThan); } qRotate(firstCut, pivot, secondCut); const RandomAccessIterator newPivot = firstCut + len2Half; qMerge(begin, firstCut, newPivot, t, lessThan); qMerge(newPivot, secondCut, end, t, lessThan); } template void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &t, LessThan lessThan) { const int span = end - begin; if (span < 2) return; const RandomAccessIterator middle = begin + span / 2; qStableSortHelper(begin, middle, t, lessThan); qStableSortHelper(middle, end, t, lessThan); qMerge(begin, middle, end, t, lessThan); } template inline void qStableSortHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &dummy) { qStableSortHelper(begin, end, dummy, qLess()); } template RandomAccessIterator qLowerBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { RandomAccessIterator middle; int n = end - begin; int half; while (n > 0) { half = n >> 1; middle = begin + half; if (lessThan(*middle, value)) { begin = middle + 1; n -= half + 1; } else { n = half; } } return begin; } template RandomAccessIterator qUpperBoundHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { RandomAccessIterator middle; int n = end - begin; int half; while (n > 0) { half = n >> 1; middle = begin + half; if (lessThan(value, *middle)) { n = half; } else { begin = middle + 1; n -= half + 1; } } return begin; } template RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan) { int l = 0; int r = end - begin - 1; if (r < 0) return end; int i = (l + r + 1) / 2; while (r != l) { if (lessThan(value, begin[i])) r = i - 1; else l = i; i = (l + r + 1) / 2; } if (lessThan(begin[i], value) || lessThan(value, begin[i])) return end; else return begin + i; } } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qalgorithms.h" 2 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringlist.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qdatastream.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdatastream.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdatastream.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qiodevice.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qiodevice.h" 1 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qiodevice.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qobjectdefs.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qobjectdefs.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qobjectdefs.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qnamespace.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qglobal.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; namespace Qt { # 75 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" enum GlobalColor { color0, color1, black, white, darkGray, gray, lightGray, red, green, blue, cyan, magenta, yellow, darkRed, darkGreen, darkBlue, darkCyan, darkMagenta, darkYellow, transparent }; enum KeyboardModifier { NoModifier = 0x00000000, ShiftModifier = 0x02000000, ControlModifier = 0x04000000, AltModifier = 0x08000000, MetaModifier = 0x10000000, KeypadModifier = 0x20000000, GroupSwitchModifier = 0x40000000, KeyboardModifierMask = 0xfe000000 }; typedef QFlags KeyboardModifiers; enum Modifier { META = Qt::MetaModifier, SHIFT = Qt::ShiftModifier, CTRL = Qt::ControlModifier, ALT = Qt::AltModifier, MODIFIER_MASK = KeyboardModifierMask, UNICODE_ACCEL = 0x00000000 }; enum MouseButton { NoButton = 0x00000000, LeftButton = 0x00000001, RightButton = 0x00000002, MidButton = 0x00000004, XButton1 = 0x00000008, XButton2 = 0x00000010, MouseButtonMask = 0x000000ff }; typedef QFlags MouseButtons; # 144 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" enum Orientation { Horizontal = 0x1, Vertical = 0x2 }; typedef QFlags Orientations; enum FocusPolicy { NoFocus = 0, TabFocus = 0x1, ClickFocus = 0x2, StrongFocus = TabFocus | ClickFocus | 0x8, WheelFocus = StrongFocus | 0x4 }; enum SortOrder { AscendingOrder, DescendingOrder }; enum AlignmentFlag { AlignLeft = 0x0001, AlignLeading = AlignLeft, AlignRight = 0x0002, AlignTrailing = AlignRight, AlignHCenter = 0x0004, AlignJustify = 0x0008, AlignAbsolute = 0x0010, AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute, AlignTop = 0x0020, AlignBottom = 0x0040, AlignVCenter = 0x0080, AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter, AlignCenter = AlignVCenter | AlignHCenter }; typedef QFlags Alignment; enum TextFlag { TextSingleLine = 0x0100, TextDontClip = 0x0200, TextExpandTabs = 0x0400, TextShowMnemonic = 0x0800, TextWordWrap = 0x1000, TextWrapAnywhere = 0x2000, TextDontPrint = 0x4000, TextIncludeTrailingSpaces = 0x08000000, TextHideMnemonic = 0x8000, TextJustificationForced = 0x10000 # 218 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" }; enum TextElideMode { ElideLeft, ElideRight, ElideMiddle, ElideNone }; enum WindowType { Widget = 0x00000000, Window = 0x00000001, Dialog = 0x00000002 | Window, Sheet = 0x00000004 | Window, Drawer = 0x00000006 | Window, Popup = 0x00000008 | Window, Tool = 0x0000000a | Window, ToolTip = 0x0000000c | Window, SplashScreen = 0x0000000e | Window, Desktop = 0x00000010 | Window, SubWindow = 0x00000012, WindowType_Mask = 0x000000ff, MSWindowsFixedSizeDialogHint = 0x00000100, MSWindowsOwnDC = 0x00000200, X11BypassWindowManagerHint = 0x00000400, FramelessWindowHint = 0x00000800, WindowTitleHint = 0x00001000, WindowSystemMenuHint = 0x00002000, WindowMinimizeButtonHint = 0x00004000, WindowMaximizeButtonHint = 0x00008000, WindowMinMaxButtonsHint = WindowMinimizeButtonHint | WindowMaximizeButtonHint, WindowContextHelpButtonHint = 0x00010000, WindowShadeButtonHint = 0x00020000, WindowStaysOnTopHint = 0x00040000, CustomizeWindowHint = 0x02000000 # 307 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" }; typedef QFlags WindowFlags; enum WindowState { WindowNoState = 0x00000000, WindowMinimized = 0x00000001, WindowMaximized = 0x00000002, WindowFullScreen = 0x00000004, WindowActive = 0x00000008 }; typedef QFlags WindowStates; enum WidgetAttribute { WA_Disabled = 0, WA_UnderMouse = 1, WA_MouseTracking = 2, WA_ContentsPropagated = 3, WA_OpaquePaintEvent = 4, WA_NoBackground = WA_OpaquePaintEvent, WA_StaticContents = 5, WA_LaidOut = 7, WA_PaintOnScreen = 8, WA_NoSystemBackground = 9, WA_UpdatesDisabled = 10, WA_Mapped = 11, WA_MacNoClickThrough = 12, WA_PaintOutsidePaintEvent = 13, WA_InputMethodEnabled = 14, WA_WState_Visible = 15, WA_WState_Hidden = 16, WA_ForceDisabled = 32, WA_KeyCompression = 33, WA_PendingMoveEvent = 34, WA_PendingResizeEvent = 35, WA_SetPalette = 36, WA_SetFont = 37, WA_SetCursor = 38, WA_NoChildEventsFromChildren = 39, WA_WindowModified = 41, WA_Resized = 42, WA_Moved = 43, WA_PendingUpdate = 44, WA_InvalidSize = 45, WA_MacBrushedMetal = 46, WA_MacMetalStyle = WA_MacBrushedMetal, WA_CustomWhatsThis = 47, WA_LayoutOnEntireRect = 48, WA_OutsideWSRange = 49, WA_GrabbedShortcut = 50, WA_TransparentForMouseEvents = 51, WA_PaintUnclipped = 52, WA_SetWindowIcon = 53, WA_NoMouseReplay = 54, WA_DeleteOnClose = 55, WA_RightToLeft = 56, WA_SetLayoutDirection = 57, WA_NoChildEventsForParent = 58, WA_ForceUpdatesDisabled = 59, WA_WState_Created = 60, WA_WState_CompressKeys = 61, WA_WState_InPaintEvent = 62, WA_WState_Reparented = 63, WA_WState_ConfigPending = 64, WA_WState_Polished = 66, WA_WState_DND = 67, WA_WState_OwnSizePolicy = 68, WA_WState_ExplicitShowHide = 69, WA_ShowModal = 70, WA_MouseNoMask = 71, WA_GroupLeader = 72, WA_NoMousePropagation = 73, WA_Hover = 74, WA_InputMethodTransparent = 75, WA_QuitOnClose = 76, WA_KeyboardFocusChange = 77, WA_AcceptDrops = 78, WA_DropSiteRegistered = 79, WA_ForceAcceptDrops = WA_DropSiteRegistered, WA_WindowPropagation = 80, WA_NoX11EventCompression = 81, WA_TintedBackground = 82, WA_X11OpenGLOverlay = 83, WA_AlwaysShowToolTips = 84, WA_MacOpaqueSizeGrip = 85, WA_SetStyle = 86, WA_SetLocale = 87, WA_MacShowFocusRect = 88, WA_MacNormalSize = 89, WA_MacSmallSize = 90, WA_MacMiniSize = 91, WA_LayoutUsesWidgetRect = 92, WA_StyledBackground = 93, WA_MSWindowsUseDirect3D = 94, WA_CanHostQMdiSubWindowTitleBar = 95, WA_MacAlwaysShowToolWindow = 96, WA_StyleSheet = 97, WA_AttributeCount }; enum ApplicationAttribute { AA_ImmediateWidgetCreation = 0, AA_MSWindowsUseDirect3DByDefault = 1, AA_AttributeCount }; enum ImageConversionFlag { ColorMode_Mask = 0x00000003, AutoColor = 0x00000000, ColorOnly = 0x00000003, MonoOnly = 0x00000002, AlphaDither_Mask = 0x0000000c, ThresholdAlphaDither = 0x00000000, OrderedAlphaDither = 0x00000004, DiffuseAlphaDither = 0x00000008, NoAlpha = 0x0000000c, Dither_Mask = 0x00000030, DiffuseDither = 0x00000000, OrderedDither = 0x00000010, ThresholdDither = 0x00000020, DitherMode_Mask = 0x000000c0, AutoDither = 0x00000000, PreferDither = 0x00000040, AvoidDither = 0x00000080 }; typedef QFlags ImageConversionFlags; enum BGMode { TransparentMode, OpaqueMode }; # 485 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" enum Key { Key_Escape = 0x01000000, Key_Tab = 0x01000001, Key_Backtab = 0x01000002, Key_Backspace = 0x01000003, Key_Return = 0x01000004, Key_Enter = 0x01000005, Key_Insert = 0x01000006, Key_Delete = 0x01000007, Key_Pause = 0x01000008, Key_Print = 0x01000009, Key_SysReq = 0x0100000a, Key_Clear = 0x0100000b, Key_Home = 0x01000010, Key_End = 0x01000011, Key_Left = 0x01000012, Key_Up = 0x01000013, Key_Right = 0x01000014, Key_Down = 0x01000015, Key_PageUp = 0x01000016, Key_PageDown = 0x01000017, Key_Shift = 0x01000020, Key_Control = 0x01000021, Key_Meta = 0x01000022, Key_Alt = 0x01000023, Key_CapsLock = 0x01000024, Key_NumLock = 0x01000025, Key_ScrollLock = 0x01000026, Key_F1 = 0x01000030, Key_F2 = 0x01000031, Key_F3 = 0x01000032, Key_F4 = 0x01000033, Key_F5 = 0x01000034, Key_F6 = 0x01000035, Key_F7 = 0x01000036, Key_F8 = 0x01000037, Key_F9 = 0x01000038, Key_F10 = 0x01000039, Key_F11 = 0x0100003a, Key_F12 = 0x0100003b, Key_F13 = 0x0100003c, Key_F14 = 0x0100003d, Key_F15 = 0x0100003e, Key_F16 = 0x0100003f, Key_F17 = 0x01000040, Key_F18 = 0x01000041, Key_F19 = 0x01000042, Key_F20 = 0x01000043, Key_F21 = 0x01000044, Key_F22 = 0x01000045, Key_F23 = 0x01000046, Key_F24 = 0x01000047, Key_F25 = 0x01000048, Key_F26 = 0x01000049, Key_F27 = 0x0100004a, Key_F28 = 0x0100004b, Key_F29 = 0x0100004c, Key_F30 = 0x0100004d, Key_F31 = 0x0100004e, Key_F32 = 0x0100004f, Key_F33 = 0x01000050, Key_F34 = 0x01000051, Key_F35 = 0x01000052, Key_Super_L = 0x01000053, Key_Super_R = 0x01000054, Key_Menu = 0x01000055, Key_Hyper_L = 0x01000056, Key_Hyper_R = 0x01000057, Key_Help = 0x01000058, Key_Direction_L = 0x01000059, Key_Direction_R = 0x01000060, Key_Space = 0x20, Key_Any = Key_Space, Key_Exclam = 0x21, Key_QuoteDbl = 0x22, Key_NumberSign = 0x23, Key_Dollar = 0x24, Key_Percent = 0x25, Key_Ampersand = 0x26, Key_Apostrophe = 0x27, Key_ParenLeft = 0x28, Key_ParenRight = 0x29, Key_Asterisk = 0x2a, Key_Plus = 0x2b, Key_Comma = 0x2c, Key_Minus = 0x2d, Key_Period = 0x2e, Key_Slash = 0x2f, Key_0 = 0x30, Key_1 = 0x31, Key_2 = 0x32, Key_3 = 0x33, Key_4 = 0x34, Key_5 = 0x35, Key_6 = 0x36, Key_7 = 0x37, Key_8 = 0x38, Key_9 = 0x39, Key_Colon = 0x3a, Key_Semicolon = 0x3b, Key_Less = 0x3c, Key_Equal = 0x3d, Key_Greater = 0x3e, Key_Question = 0x3f, Key_At = 0x40, Key_A = 0x41, Key_B = 0x42, Key_C = 0x43, Key_D = 0x44, Key_E = 0x45, Key_F = 0x46, Key_G = 0x47, Key_H = 0x48, Key_I = 0x49, Key_J = 0x4a, Key_K = 0x4b, Key_L = 0x4c, Key_M = 0x4d, Key_N = 0x4e, Key_O = 0x4f, Key_P = 0x50, Key_Q = 0x51, Key_R = 0x52, Key_S = 0x53, Key_T = 0x54, Key_U = 0x55, Key_V = 0x56, Key_W = 0x57, Key_X = 0x58, Key_Y = 0x59, Key_Z = 0x5a, Key_BracketLeft = 0x5b, Key_Backslash = 0x5c, Key_BracketRight = 0x5d, Key_AsciiCircum = 0x5e, Key_Underscore = 0x5f, Key_QuoteLeft = 0x60, Key_BraceLeft = 0x7b, Key_Bar = 0x7c, Key_BraceRight = 0x7d, Key_AsciiTilde = 0x7e, Key_nobreakspace = 0x0a0, Key_exclamdown = 0x0a1, Key_cent = 0x0a2, Key_sterling = 0x0a3, Key_currency = 0x0a4, Key_yen = 0x0a5, Key_brokenbar = 0x0a6, Key_section = 0x0a7, Key_diaeresis = 0x0a8, Key_copyright = 0x0a9, Key_ordfeminine = 0x0aa, Key_guillemotleft = 0x0ab, Key_notsign = 0x0ac, Key_hyphen = 0x0ad, Key_registered = 0x0ae, Key_macron = 0x0af, Key_degree = 0x0b0, Key_plusminus = 0x0b1, Key_twosuperior = 0x0b2, Key_threesuperior = 0x0b3, Key_acute = 0x0b4, Key_mu = 0x0b5, Key_paragraph = 0x0b6, Key_periodcentered = 0x0b7, Key_cedilla = 0x0b8, Key_onesuperior = 0x0b9, Key_masculine = 0x0ba, Key_guillemotright = 0x0bb, Key_onequarter = 0x0bc, Key_onehalf = 0x0bd, Key_threequarters = 0x0be, Key_questiondown = 0x0bf, Key_Agrave = 0x0c0, Key_Aacute = 0x0c1, Key_Acircumflex = 0x0c2, Key_Atilde = 0x0c3, Key_Adiaeresis = 0x0c4, Key_Aring = 0x0c5, Key_AE = 0x0c6, Key_Ccedilla = 0x0c7, Key_Egrave = 0x0c8, Key_Eacute = 0x0c9, Key_Ecircumflex = 0x0ca, Key_Ediaeresis = 0x0cb, Key_Igrave = 0x0cc, Key_Iacute = 0x0cd, Key_Icircumflex = 0x0ce, Key_Idiaeresis = 0x0cf, Key_ETH = 0x0d0, Key_Ntilde = 0x0d1, Key_Ograve = 0x0d2, Key_Oacute = 0x0d3, Key_Ocircumflex = 0x0d4, Key_Otilde = 0x0d5, Key_Odiaeresis = 0x0d6, Key_multiply = 0x0d7, Key_Ooblique = 0x0d8, Key_Ugrave = 0x0d9, Key_Uacute = 0x0da, Key_Ucircumflex = 0x0db, Key_Udiaeresis = 0x0dc, Key_Yacute = 0x0dd, Key_THORN = 0x0de, Key_ssharp = 0x0df, # 728 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" Key_division = 0x0f7, # 738 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" Key_ydiaeresis = 0x0ff, Key_AltGr = 0x01001103, Key_Multi_key = 0x01001120, Key_Codeinput = 0x01001137, Key_SingleCandidate = 0x0100113c, Key_MultipleCandidate = 0x0100113d, Key_PreviousCandidate = 0x0100113e, Key_Mode_switch = 0x0100117e, Key_Kanji = 0x01001121, Key_Muhenkan = 0x01001122, Key_Henkan = 0x01001123, Key_Romaji = 0x01001124, Key_Hiragana = 0x01001125, Key_Katakana = 0x01001126, Key_Hiragana_Katakana = 0x01001127, Key_Zenkaku = 0x01001128, Key_Hankaku = 0x01001129, Key_Zenkaku_Hankaku = 0x0100112a, Key_Touroku = 0x0100112b, Key_Massyo = 0x0100112c, Key_Kana_Lock = 0x0100112d, Key_Kana_Shift = 0x0100112e, Key_Eisu_Shift = 0x0100112f, Key_Eisu_toggle = 0x01001130, # 783 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" Key_Hangul = 0x01001131, Key_Hangul_Start = 0x01001132, Key_Hangul_End = 0x01001133, Key_Hangul_Hanja = 0x01001134, Key_Hangul_Jamo = 0x01001135, Key_Hangul_Romaja = 0x01001136, Key_Hangul_Jeonja = 0x01001138, Key_Hangul_Banja = 0x01001139, Key_Hangul_PreHanja = 0x0100113a, Key_Hangul_PostHanja = 0x0100113b, Key_Hangul_Special = 0x0100113f, Key_Dead_Grave = 0x01001250, Key_Dead_Acute = 0x01001251, Key_Dead_Circumflex = 0x01001252, Key_Dead_Tilde = 0x01001253, Key_Dead_Macron = 0x01001254, Key_Dead_Breve = 0x01001255, Key_Dead_Abovedot = 0x01001256, Key_Dead_Diaeresis = 0x01001257, Key_Dead_Abovering = 0x01001258, Key_Dead_Doubleacute = 0x01001259, Key_Dead_Caron = 0x0100125a, Key_Dead_Cedilla = 0x0100125b, Key_Dead_Ogonek = 0x0100125c, Key_Dead_Iota = 0x0100125d, Key_Dead_Voiced_Sound = 0x0100125e, Key_Dead_Semivoiced_Sound = 0x0100125f, Key_Dead_Belowdot = 0x01001260, Key_Dead_Hook = 0x01001261, Key_Dead_Horn = 0x01001262, Key_Back = 0x01000061, Key_Forward = 0x01000062, Key_Stop = 0x01000063, Key_Refresh = 0x01000064, Key_VolumeDown = 0x01000070, Key_VolumeMute = 0x01000071, Key_VolumeUp = 0x01000072, Key_BassBoost = 0x01000073, Key_BassUp = 0x01000074, Key_BassDown = 0x01000075, Key_TrebleUp = 0x01000076, Key_TrebleDown = 0x01000077, Key_MediaPlay = 0x01000080, Key_MediaStop = 0x01000081, Key_MediaPrevious = 0x01000082, Key_MediaNext = 0x01000083, Key_MediaRecord = 0x01000084, Key_HomePage = 0x01000090, Key_Favorites = 0x01000091, Key_Search = 0x01000092, Key_Standby = 0x01000093, Key_OpenUrl = 0x01000094, Key_LaunchMail = 0x010000a0, Key_LaunchMedia = 0x010000a1, Key_Launch0 = 0x010000a2, Key_Launch1 = 0x010000a3, Key_Launch2 = 0x010000a4, Key_Launch3 = 0x010000a5, Key_Launch4 = 0x010000a6, Key_Launch5 = 0x010000a7, Key_Launch6 = 0x010000a8, Key_Launch7 = 0x010000a9, Key_Launch8 = 0x010000aa, Key_Launch9 = 0x010000ab, Key_LaunchA = 0x010000ac, Key_LaunchB = 0x010000ad, Key_LaunchC = 0x010000ae, Key_LaunchD = 0x010000af, Key_LaunchE = 0x010000b0, Key_LaunchF = 0x010000b1, Key_MediaLast = 0x0100ffff, Key_Select = 0x01010000, Key_Yes = 0x01010001, Key_No = 0x01010002, Key_Cancel = 0x01020001, Key_Printer = 0x01020002, Key_Execute = 0x01020003, Key_Sleep = 0x01020004, Key_Play = 0x01020005, Key_Zoom = 0x01020006, Key_Context1 = 0x01100000, Key_Context2 = 0x01100001, Key_Context3 = 0x01100002, Key_Context4 = 0x01100003, Key_Call = 0x01100004, Key_Hangup = 0x01100005, Key_Flip = 0x01100006, Key_unknown = 0x01ffffff }; enum ArrowType { NoArrow, UpArrow, DownArrow, LeftArrow, RightArrow }; enum PenStyle { NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine, CustomDashLine , MPenStyle = 0x0f }; enum PenCapStyle { FlatCap = 0x00, SquareCap = 0x10, RoundCap = 0x20, MPenCapStyle = 0x30 }; enum PenJoinStyle { MiterJoin = 0x00, BevelJoin = 0x40, RoundJoin = 0x80, SvgMiterJoin = 0x100, MPenJoinStyle = 0x1c0 }; enum BrushStyle { NoBrush, SolidPattern, Dense1Pattern, Dense2Pattern, Dense3Pattern, Dense4Pattern, Dense5Pattern, Dense6Pattern, Dense7Pattern, HorPattern, VerPattern, CrossPattern, BDiagPattern, FDiagPattern, DiagCrossPattern, LinearGradientPattern, RadialGradientPattern, ConicalGradientPattern, TexturePattern = 24 }; # 1020 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" enum UIEffect { UI_General, UI_AnimateMenu, UI_FadeMenu, UI_AnimateCombo, UI_AnimateTooltip, UI_FadeTooltip, UI_AnimateToolBox }; enum CursorShape { ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IBeamCursor, SizeVerCursor, SizeHorCursor, SizeBDiagCursor, SizeFDiagCursor, SizeAllCursor, BlankCursor, SplitVCursor, SplitHCursor, PointingHandCursor, ForbiddenCursor, WhatsThisCursor, BusyCursor, OpenHandCursor, ClosedHandCursor, LastCursor = ClosedHandCursor, BitmapCursor = 24, CustomCursor = 25 # 1073 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" }; enum TextFormat { PlainText, RichText, AutoText, LogText }; enum AspectRatioMode { IgnoreAspectRatio, KeepAspectRatio, KeepAspectRatioByExpanding }; enum AnchorAttribute { AnchorName, AnchorHref }; enum DockWidgetArea { LeftDockWidgetArea = 0x1, RightDockWidgetArea = 0x2, TopDockWidgetArea = 0x4, BottomDockWidgetArea = 0x8, DockWidgetArea_Mask = 0xf, AllDockWidgetAreas = DockWidgetArea_Mask, NoDockWidgetArea = 0 }; enum DockWidgetAreaSizes { NDockWidgetAreas = 4 }; typedef QFlags DockWidgetAreas; enum ToolBarArea { LeftToolBarArea = 0x1, RightToolBarArea = 0x2, TopToolBarArea = 0x4, BottomToolBarArea = 0x8, ToolBarArea_Mask = 0xf, AllToolBarAreas = ToolBarArea_Mask, NoToolBarArea = 0 }; enum ToolBarAreaSizes { NToolBarAreas = 4 }; typedef QFlags ToolBarAreas; # 1156 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" enum DateFormat { TextDate, ISODate, SystemLocaleDate, LocalDate = SystemLocaleDate, LocaleDate }; enum TimeSpec { LocalTime, UTC }; enum DayOfWeek { Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6, Sunday = 7 }; enum ScrollBarPolicy { ScrollBarAsNeeded, ScrollBarAlwaysOff, ScrollBarAlwaysOn }; # 1210 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" enum CaseSensitivity { CaseInsensitive, CaseSensitive }; enum Corner { TopLeftCorner = 0x00000, TopRightCorner = 0x00001, BottomLeftCorner = 0x00002, BottomRightCorner = 0x00003 }; enum ConnectionType { AutoConnection, DirectConnection, QueuedConnection, AutoCompatConnection, BlockingQueuedConnection }; enum ShortcutContext { WidgetShortcut, WindowShortcut, ApplicationShortcut }; enum FillRule { OddEvenFill, WindingFill }; enum MaskMode { MaskInColor, MaskOutColor }; enum ClipOperation { NoClip, ReplaceClip, IntersectClip, UniteClip }; enum ItemSelectionMode { ContainsItemShape = 0x0, IntersectsItemShape = 0x1, ContainsItemBoundingRect = 0x2, IntersectsItemBoundingRect = 0x3 }; enum TransformationMode { FastTransformation, SmoothTransformation }; enum Axis { XAxis, YAxis, ZAxis }; enum FocusReason { MouseFocusReason, TabFocusReason, BacktabFocusReason, ActiveWindowFocusReason, PopupFocusReason, ShortcutFocusReason, MenuBarFocusReason, OtherFocusReason, NoFocusReason }; enum ContextMenuPolicy { NoContextMenu, DefaultContextMenu, ActionsContextMenu, CustomContextMenu, PreventContextMenu }; enum InputMethodQuery { ImMicroFocus, ImFont, ImCursorPosition, ImSurroundingText, ImCurrentSelection }; enum ToolButtonStyle { ToolButtonIconOnly, ToolButtonTextOnly, ToolButtonTextBesideIcon, ToolButtonTextUnderIcon }; enum LayoutDirection { LeftToRight, RightToLeft }; enum DropAction { CopyAction = 0x1, MoveAction = 0x2, LinkAction = 0x4, ActionMask = 0xff, TargetMoveAction = 0x8002, IgnoreAction = 0x0 }; typedef QFlags DropActions; enum CheckState { Unchecked, PartiallyChecked, Checked }; enum ItemDataRole { DisplayRole = 0, DecorationRole = 1, EditRole = 2, ToolTipRole = 3, StatusTipRole = 4, WhatsThisRole = 5, FontRole = 6, TextAlignmentRole = 7, BackgroundColorRole = 8, BackgroundRole = 8, TextColorRole = 9, ForegroundRole = 9, CheckStateRole = 10, AccessibleTextRole = 11, AccessibleDescriptionRole = 12, SizeHintRole = 13, UserRole = 32 }; enum ItemFlag { ItemIsSelectable = 1, ItemIsEditable = 2, ItemIsDragEnabled = 4, ItemIsDropEnabled = 8, ItemIsUserCheckable = 16, ItemIsEnabled = 32, ItemIsTristate = 64 }; typedef QFlags ItemFlags; enum MatchFlag { MatchExactly = 0, MatchContains = 1, MatchStartsWith = 2, MatchEndsWith = 3, MatchRegExp = 4, MatchWildcard = 5, MatchFixedString = 8, MatchCaseSensitive = 16, MatchWrap = 32, MatchRecursive = 64 }; typedef QFlags MatchFlags; typedef unsigned long HANDLE; typedef WindowFlags WFlags; enum WindowModality { NonModal, WindowModal, ApplicationModal }; enum TextInteractionFlag { NoTextInteraction = 0, TextSelectableByMouse = 1, TextSelectableByKeyboard = 2, LinksAccessibleByMouse = 4, LinksAccessibleByKeyboard = 8, TextEditable = 16, TextEditorInteraction = TextSelectableByMouse | TextSelectableByKeyboard | TextEditable, TextBrowserInteraction = TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard }; typedef QFlags TextInteractionFlags; enum EventPriority { HighEventPriority = 1, NormalEventPriority = 0, LowEventPriority = -1 }; } inline QFlags operator|(Qt::MouseButtons::enum_type f1, Qt::MouseButtons::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::MouseButtons::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::Orientations::enum_type f1, Qt::Orientations::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::Orientations::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::KeyboardModifiers::enum_type f1, Qt::KeyboardModifiers::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::KeyboardModifiers::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::WindowFlags::enum_type f1, Qt::WindowFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::WindowFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::Alignment::enum_type f1, Qt::Alignment::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::Alignment::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::ImageConversionFlags::enum_type f1, Qt::ImageConversionFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::ImageConversionFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::DockWidgetAreas::enum_type f1, Qt::DockWidgetAreas::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::DockWidgetAreas::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::ToolBarAreas::enum_type f1, Qt::ToolBarAreas::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::ToolBarAreas::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::WindowStates::enum_type f1, Qt::WindowStates::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::WindowStates::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::DropActions::enum_type f1, Qt::DropActions::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::DropActions::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::ItemFlags::enum_type f1, Qt::ItemFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::ItemFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::MatchFlags::enum_type f1, Qt::MatchFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::MatchFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(Qt::TextInteractionFlags::enum_type f1, Qt::TextInteractionFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(Qt::TextInteractionFlags::enum_type f1, QFlags f2) { return f2 | f1; } typedef bool (*qInternalCallback)(void **); class QInternal { public: enum PaintDeviceFlags { UnknownDevice = 0x00, Widget = 0x01, Pixmap = 0x02, Image = 0x03, Printer = 0x04, Picture = 0x05, Pbuffer = 0x06, FramebufferObject = 0x07, CustomRaster = 0x08 }; enum RelayoutType { RelayoutNormal, RelayoutDragging, RelayoutDropped }; enum Callback { ConnectCallback, DisconnectCallback, AdoptCurrentThread, EventNotifyCallback, LastCallback }; enum InternalFunction { CreateThreadForAdoption, RefAdoptedThread, DerefAdoptedThread, SetCurrentThreadToMainThread, LastInternalFunction }; enum DockPosition { LeftDock, RightDock, TopDock, BottomDock, DockCount }; static bool registerCallback(Callback, qInternalCallback); static bool unregisterCallback(Callback, qInternalCallback); static bool activateCallbacks(Callback, void **); static bool callFunction(InternalFunction func, void **); }; # 1499 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/global/qnamespace.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qnamespace.h" 2 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qobjectdefs.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QString; class QByteArray; # 133 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qobjectdefs.h" template inline int qYouForgotTheQ_OBJECT_Macro(T, T) { return 0; } template inline void qYouForgotTheQ_OBJECT_Macro(T1, T2) {} # 209 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qobjectdefs.h" class QObject; class QMetaMethod; class QMetaEnum; class QMetaProperty; class QMetaClassInfo; class QGenericArgument { public: inline QGenericArgument(const char *aName = 0, const void *aData = 0) : _data(aData), _name(aName) {} inline void *data() const { return const_cast(_data); } inline const char *name() const { return _name; } private: const void *_data; const char *_name; }; class QGenericReturnArgument: public QGenericArgument { public: inline QGenericReturnArgument(const char *aName = 0, void *aData = 0) : QGenericArgument(aName, aData) {} }; template class QArgument: public QGenericArgument { public: inline QArgument(const char *aName, const T &aData) : QGenericArgument(aName, static_cast(&aData)) {} }; template class QReturnArgument: public QGenericReturnArgument { public: inline QReturnArgument(const char *aName, T &aData) : QGenericReturnArgument(aName, static_cast(&aData)) {} }; struct QMetaObject { const char *className() const; const QMetaObject *superClass() const; QObject *cast(QObject *obj) const; QString tr(const char *s, const char *c) const; QString trUtf8(const char *s, const char *c) const; QString tr(const char *s, const char *c, int n) const; QString trUtf8(const char *s, const char *c, int n) const; int methodOffset() const; int enumeratorOffset() const; int propertyOffset() const; int classInfoOffset() const; int methodCount() const; int enumeratorCount() const; int propertyCount() const; int classInfoCount() const; int indexOfMethod(const char *method) const; int indexOfSignal(const char *signal) const; int indexOfSlot(const char *slot) const; int indexOfEnumerator(const char *name) const; int indexOfProperty(const char *name) const; int indexOfClassInfo(const char *name) const; QMetaMethod method(int index) const; QMetaEnum enumerator(int index) const; QMetaProperty property(int index) const; QMetaClassInfo classInfo(int index) const; QMetaProperty userProperty() const; static bool checkConnectArgs(const char *signal, const char *method); static QByteArray normalizedSignature(const char *method); static QByteArray normalizedType(const char *type); static bool connect(const QObject *sender, int signal_index, const QObject *receiver, int method_index, int type = 0, int *types = 0); static bool disconnect(const QObject *sender, int signal_index, const QObject *receiver, int method_index); static void connectSlotsByName(QObject *o); static void activate(QObject *sender, int signal_index, void **argv); static void activate(QObject *sender, int from_signal_index, int to_signal_index, void **argv); static void activate(QObject *sender, const QMetaObject *, int local_signal_index, void **argv); static void activate(QObject *sender, const QMetaObject *, int from_local_signal_index, int to_local_signal_index, void **argv); static void addGuard(QObject **ptr); static void removeGuard(QObject **ptr); static void changeGuard(QObject **ptr, QObject *o); static bool invokeMethod(QObject *obj, const char *member, Qt::ConnectionType, QGenericReturnArgument ret, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()); static inline bool invokeMethod(QObject *obj, const char *member, QGenericReturnArgument ret, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) { return invokeMethod(obj, member, Qt::AutoConnection, ret, val0, val1, val2, val3, val4, val5, val6, val7, val8, val9); } static inline bool invokeMethod(QObject *obj, const char *member, Qt::ConnectionType type, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) { return invokeMethod(obj, member, type, QGenericReturnArgument(), val0, val1, val2, val3, val4, val5, val6, val7, val8, val9); } static inline bool invokeMethod(QObject *obj, const char *member, QGenericArgument val0 = QGenericArgument(0), QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument(), QGenericArgument val9 = QGenericArgument()) { return invokeMethod(obj, member, Qt::AutoConnection, QGenericReturnArgument(), val0, val1, val2, val3, val4, val5, val6, val7, val8, val9); } enum Call { InvokeMetaMethod, ReadProperty, WriteProperty, ResetProperty, QueryPropertyDesignable, QueryPropertyScriptable, QueryPropertyStored, QueryPropertyEditable, QueryPropertyUser }; struct { const QMetaObject *superdata; const char *stringdata; const uint *data; const QMetaObject **extradata; } d; }; inline const char *QMetaObject::className() const { return d.stringdata; } inline const QMetaObject *QMetaObject::superClass() const { return d.superdata; } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qobjectdefs.h" 2 # 46 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qiodevice.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qchar.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qchar.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qchar.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qglobal.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qchar.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QString; struct QLatin1Char { public: inline explicit QLatin1Char(char c) : ch(c) {} inline const char toLatin1() const { return ch; } inline const ushort unicode() const { return ushort(uchar(ch)); } private: char ch; }; class QChar { public: QChar(); QChar(char c); QChar(uchar c); QChar(QLatin1Char ch); QChar(uchar c, uchar r); inline QChar(ushort rc) : ucs(rc){} QChar(short rc); QChar(uint rc); QChar(int rc); enum SpecialCharacter { Null = 0x0000, Nbsp = 0x00a0, ReplacementCharacter = 0xfffd, ObjectReplacementCharacter = 0xfffc, ByteOrderMark = 0xfeff, ByteOrderSwapped = 0xfffe, ParagraphSeparator = 0x2029, LineSeparator = 0x2028 }; QChar(SpecialCharacter sc); enum Category { NoCategory, Mark_NonSpacing, Mark_SpacingCombining, Mark_Enclosing, Number_DecimalDigit, Number_Letter, Number_Other, Separator_Space, Separator_Line, Separator_Paragraph, Other_Control, Other_Format, Other_Surrogate, Other_PrivateUse, Other_NotAssigned, Letter_Uppercase, Letter_Lowercase, Letter_Titlecase, Letter_Modifier, Letter_Other, Punctuation_Connector, Punctuation_Dash, Punctuation_Open, Punctuation_Close, Punctuation_InitialQuote, Punctuation_FinalQuote, Punctuation_Other, Symbol_Math, Symbol_Currency, Symbol_Modifier, Symbol_Other, Punctuation_Dask = Punctuation_Dash }; enum Direction { DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON, DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN }; enum Decomposition { NoDecomposition, Canonical, Font, NoBreak, Initial, Medial, Final, Isolated, Circle, Super, Sub, Vertical, Wide, Narrow, Small, Square, Compat, Fraction }; enum Joining { OtherJoining, Dual, Right, Center }; enum CombiningClass { Combining_BelowLeftAttached = 200, Combining_BelowAttached = 202, Combining_BelowRightAttached = 204, Combining_LeftAttached = 208, Combining_RightAttached = 210, Combining_AboveLeftAttached = 212, Combining_AboveAttached = 214, Combining_AboveRightAttached = 216, Combining_BelowLeft = 218, Combining_Below = 220, Combining_BelowRight = 222, Combining_Left = 224, Combining_Right = 226, Combining_AboveLeft = 228, Combining_Above = 230, Combining_AboveRight = 232, Combining_DoubleBelow = 233, Combining_DoubleAbove = 234, Combining_IotaSubscript = 240 }; enum UnicodeVersion { Unicode_Unassigned, Unicode_1_1, Unicode_2_0, Unicode_2_1_2, Unicode_3_0, Unicode_3_1, Unicode_3_2, Unicode_4_0, Unicode_4_1, Unicode_5_0 }; Category category() const; Direction direction() const; Joining joining() const; bool hasMirrored() const; unsigned char combiningClass() const; QChar mirroredChar() const; QString decomposition() const; Decomposition decompositionTag() const; int digitValue() const; QChar toLower() const; QChar toUpper() const; QChar toTitleCase() const; QChar toCaseFolded() const; UnicodeVersion unicodeVersion() const; const char toAscii() const; inline const char toLatin1() const; inline const ushort unicode() const { return ucs; } inline ushort &unicode() { return ucs; } static QChar fromAscii(char c); static QChar fromLatin1(char c); inline bool isNull() const { return ucs == 0; } bool isPrint() const; bool isPunct() const; bool isSpace() const; bool isMark() const; bool isLetter() const; bool isNumber() const; bool isLetterOrNumber() const; bool isDigit() const; bool isSymbol() const; inline bool isLower() const { return category() == Letter_Lowercase; } inline bool isUpper() const { return category() == Letter_Uppercase; } inline bool isTitleCase() const { return category() == Letter_Titlecase; } inline bool isHighSurrogate() const { return ((ucs & 0xfc00) == 0xd800); } inline bool isLowSurrogate() const { return ((ucs & 0xfc00) == 0xdc00); } inline uchar cell() const { return uchar(ucs & 0xff); } inline uchar row() const { return uchar((ucs>>8)&0xff); } inline void setCell(uchar cell); inline void setRow(uchar row); static inline uint surrogateToUcs4(ushort high, ushort low) { return (uint(high)<<10) + low - 0x35fdc00; } static inline uint surrogateToUcs4(QChar high, QChar low) { return (uint(high.ucs)<<10) + low.ucs - 0x35fdc00; } static inline ushort highSurrogate(uint ucs4) { return (ucs4>>10) + 0xd7c0; } static inline ushort lowSurrogate(uint ucs4) { return ucs4%0x400 + 0xdc00; } static Category category(uint ucs4); static Category category(ushort ucs2); static Direction direction(uint ucs4); static Direction direction(ushort ucs2); static Joining joining(uint ucs4); static Joining joining(ushort ucs2); static unsigned char combiningClass(uint ucs4); static unsigned char combiningClass(ushort ucs2); static uint mirroredChar(uint ucs4); static ushort mirroredChar(ushort ucs2); static Decomposition decompositionTag(uint ucs4); static int digitValue(uint ucs4); static int digitValue(ushort ucs2); static uint toLower(uint ucs4); static ushort toLower(ushort ucs2); static uint toUpper(uint ucs4); static ushort toUpper(ushort ucs2); static uint toTitleCase(uint ucs4); static ushort toTitleCase(ushort ucs2); static uint toCaseFolded(uint ucs4); static ushort toCaseFolded(ushort ucs2); static UnicodeVersion unicodeVersion(uint ucs4); static UnicodeVersion unicodeVersion(ushort ucs2); static QString decomposition(uint ucs4); # 325 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qchar.h" private: ushort ucs; } ; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QChar)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QChar"; } }; inline QChar::QChar() : ucs(0) {} inline const char QChar::toLatin1() const { return ucs > 0xff ? '\0' : char(ucs); } inline QChar QChar::fromLatin1(char c) { return QChar(ushort(uchar(c))); } inline QChar::QChar(uchar c, uchar r) : ucs((r << 8) | c){} inline QChar::QChar(short rc) : ucs(ushort(rc)){} inline QChar::QChar(uint rc) : ucs(ushort(rc & 0xffff)){} inline QChar::QChar(int rc) : ucs(ushort(rc & 0xffff)){} inline QChar::QChar(SpecialCharacter s) : ucs(ushort(s)) {} inline QChar::QChar(QLatin1Char ch) : ucs(ch.unicode()) {} inline void QChar::setCell(uchar acell) { ucs = (ucs & 0xff00) + acell; } inline void QChar::setRow(uchar arow) { ucs = (ushort(arow)<<8) + (ucs&0xff); } inline bool operator==(QChar c1, QChar c2) { return c1.unicode() == c2.unicode(); } inline bool operator!=(QChar c1, QChar c2) { return c1.unicode() != c2.unicode(); } inline bool operator<=(QChar c1, QChar c2) { return c1.unicode() <= c2.unicode(); } inline bool operator>=(QChar c1, QChar c2) { return c1.unicode() >= c2.unicode(); } inline bool operator<(QChar c1, QChar c2) { return c1.unicode() < c2.unicode(); } inline bool operator>(QChar c1, QChar c2) { return c1.unicode() > c2.unicode(); } QDataStream &operator<<(QDataStream &, const QChar &); QDataStream &operator>>(QDataStream &, QChar &); # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qchar.h" 2 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qbytearray.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qglobal.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qatomic.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/thread/qatomic.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/thread/qatomic.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qatomic_generic.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/arch/qatomic_generic.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/arch/qatomic_generic.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qglobal.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/arch/qatomic_generic.h" 2 inline int q_atomic_test_and_set_int(volatile int *ptr, int expected, int newval) { if (*ptr == expected) { *ptr = newval; return 1; } return 0; } inline int q_atomic_test_and_set_acquire_int(volatile int *ptr, int expected, int newval) { return q_atomic_test_and_set_int(ptr, expected, newval); } inline int q_atomic_test_and_set_release_int(volatile int *ptr, int expected, int newval) { return q_atomic_test_and_set_int(ptr, expected, newval); } inline int q_atomic_test_and_set_ptr(volatile void *ptr, void *expected, void *newval) { if (*reinterpret_cast(ptr) == expected) { *reinterpret_cast(ptr) = newval; return 1; } return 0; } inline int q_atomic_increment(volatile int *ptr) { return ++(*ptr); } inline int q_atomic_decrement(volatile int *ptr) { return --(*ptr); } inline int q_atomic_set_int(volatile int *ptr, int newval) { register int ret = *ptr; *ptr = newval; return ret; } inline void *q_atomic_set_ptr(volatile void *ptr, void *newval) { register void *ret = *reinterpret_cast(ptr); *reinterpret_cast(ptr) = newval; return ret; } inline int q_atomic_fetch_and_add_int(volatile int *ptr, int value) { int originalValue = *ptr; *ptr += value; return originalValue; } inline int q_atomic_fetch_and_add_acquire_int(volatile int *ptr, int value) { return q_atomic_fetch_and_add_int(ptr, value); } inline int q_atomic_fetch_and_add_release_int(volatile int *ptr, int value) { return q_atomic_fetch_and_add_int(ptr, value); } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qatomic_generic.h" 2 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/thread/qatomic.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qglobal.h" 1 # 48 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/thread/qatomic.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; # 83 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/thread/qatomic.h" struct QBasicAtomic { volatile int value; void init(int x = 0) { value = x; } inline bool ref() { return q_atomic_increment(&value) != 0; } inline bool deref() { return q_atomic_decrement(&value) != 0; } inline bool operator==(int x) const { return value == x; } inline bool operator!=(int x) const { return value != x; } inline bool operator!() const { return value == 0; } inline operator int() const { return value; } inline QBasicAtomic &operator=(int x) { value = x; return *this; } inline bool testAndSet(int expected, int newval) { return q_atomic_test_and_set_int(&value, expected, newval) != 0; } inline bool testAndSetAcquire(int expected, int newval) { return q_atomic_test_and_set_acquire_int(&value, expected, newval) != 0; } inline bool testAndSetRelease(int expected, int newval) { return q_atomic_test_and_set_release_int(&value, expected, newval) != 0; } inline int exchange(int newval) { return q_atomic_set_int(&value, newval); } inline int fetchAndAdd(int aValue) { return q_atomic_fetch_and_add_int(&value, aValue); } inline int fetchAndAddAcquire(int aValue) { return q_atomic_fetch_and_add_acquire_int(&value, aValue); } inline int fetchAndAddRelease(int aValue) { return q_atomic_fetch_and_add_release_int(&value, aValue); } }; template struct QBasicAtomicPointer { volatile T *value; void init(T *t = 0) { value = t; } inline bool operator==(T *t) const { return value == t; } inline bool operator!=(T *t) const { return !operator==(t); } inline bool operator!() const { return operator==(0); } inline operator T *() const { return const_cast(value); } inline T *operator->() const { return const_cast(value); } inline QBasicAtomicPointer &operator=(T *t) { value = t; return *this; } inline bool testAndSet(T *expected, T *newval) { return q_atomic_test_and_set_ptr(&value, expected, newval); } inline T *exchange(T * newval) { return static_cast(q_atomic_set_ptr(&value, newval)); } }; template inline T qAtomicSetPtr(volatile T *ptr, T newval) { return static_cast(q_atomic_set_ptr(ptr, newval)); } class QAtomic : public QBasicAtomic { public: inline QAtomic(int x = 0) { init(x); } inline QAtomic(const QAtomic ©) { init(copy); } inline QAtomic &operator=(int x) { (void) QBasicAtomic::operator=(x); return *this; } inline QAtomic &operator=(const QAtomic ©) { (void) QBasicAtomic::operator=(copy); return *this; } }; template class QAtomicPointer : public QBasicAtomicPointer { public: inline QAtomicPointer(T *t = 0) { init(t); } inline QAtomicPointer(const QAtomicPointer ©) { init(copy); } inline QAtomicPointer &operator=(T *t) { (void) QBasicAtomicPointer::operator=(t); return *this; } inline QAtomicPointer &operator=(const QAtomicPointer ©) { (void) QBasicAtomicPointer::operator=(copy); return *this; } }; # 233 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/thread/qatomic.h" template inline void qAtomicAssign(T *&d, T *x) { if (d == x) return; x->ref.ref(); if (!d->ref.deref()) delete d; d = x; } # 255 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/thread/qatomic.h" template inline void qAtomicDetach(T *&d) { if (d->ref == 1) return; T *x = d; d = new T(*d); if (!x->ref.deref()) delete x; } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qatomic.h" 2 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h" 2 # 1 "/usr/include/string.h" 1 3 4 # 9 "/usr/include/string.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/string.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/amd64/string.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 9 "/usr/include/features.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/features.h" 1 3 4 # 322 "/usr/include/gentoo-multilib/amd64/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 9 "/usr/include/sys/cdefs.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 1 3 4 # 324 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 2 3 4 # 325 "/usr/include/gentoo-multilib/amd64/sys/cdefs.h" 2 3 4 # 9 "/usr/include/sys/cdefs.h" 2 3 4 # 323 "/usr/include/gentoo-multilib/amd64/features.h" 2 3 4 # 345 "/usr/include/gentoo-multilib/amd64/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 9 "/usr/include/gnu/stubs.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 1 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 2 3 4 # 5 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 2 3 4 # 1 "/usr/include/gnu/stubs-64.h" 1 3 4 # 1 "/usr/include/gentoo-multilib/amd64/gnu/stubs-64.h" 1 3 4 # 5 "/usr/include/gnu/stubs-64.h" 2 3 4 # 10 "/usr/include/gentoo-multilib/amd64/gnu/stubs.h" 2 3 4 # 9 "/usr/include/gnu/stubs.h" 2 3 4 # 346 "/usr/include/gentoo-multilib/amd64/features.h" 2 3 4 # 9 "/usr/include/features.h" 2 3 4 # 27 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4 extern "C" { # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 34 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, __const void *__src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memchr (__const void *__s, int __c, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern void *rawmemchr (__const void *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern void *memrchr (__const void *__s, int __c, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (2))); # 1 "/usr/include/xlocale.h" 1 3 4 # 9 "/usr/include/xlocale.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/xlocale.h" 1 3 4 # 28 "/usr/include/gentoo-multilib/amd64/xlocale.h" 3 4 typedef struct __locale_struct { struct locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; } *__locale_t; # 9 "/usr/include/xlocale.h" 2 3 4 # 119 "/usr/include/gentoo-multilib/amd64/string.h" 2 3 4 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, __locale_t __l) throw () __attribute__ ((__nonnull__ (2, 4))); extern char *strdup (__const char *__s) throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); extern char *strndup (__const char *__string, size_t __n) throw () __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 165 "/usr/include/gentoo-multilib/amd64/string.h" 3 4 extern char *strchr (__const char *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strrchr (__const char *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strchrnul (__const char *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strcspn (__const char *__s, __const char *__reject) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (__const char *__s, __const char *__accept) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strpbrk (__const char *__s, __const char *__accept) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strstr (__const char *__haystack, __const char *__needle) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) throw () __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) throw () __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) throw () __attribute__ ((__nonnull__ (2, 3))); extern char *strcasestr (__const char *__haystack, __const char *__needle) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmem (__const void *__haystack, size_t __haystacklen, __const void *__needle, size_t __needlelen) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); extern void *__mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void *mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern size_t strlen (__const char *__s) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strnlen (__const char *__string, size_t __maxlen) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strerror (int __errnum) throw (); # 281 "/usr/include/gentoo-multilib/amd64/string.h" 3 4 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))); extern char *strerror_l (int __errnum, __locale_t __l) throw (); extern void __bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern void bcopy (__const void *__src, void *__dest, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *index (__const char *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *rindex (__const char *__s, int __c) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) throw () __attribute__ ((__const__)); extern int ffsl (long int __l) throw () __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) throw () __attribute__ ((__const__)); extern int strcasecmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcasecmp_l (__const char *__s1, __const char *__s2, __locale_t __loc) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int strncasecmp_l (__const char *__s1, __const char *__s2, size_t __n, __locale_t __loc) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) throw () __attribute__ ((__nonnull__ (1, 2))); extern int strverscmp (__const char *__s1, __const char *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strsignal (int __sig) throw (); extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *__stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strfry (char *__string) throw () __attribute__ ((__nonnull__ (1))); extern void *memfrob (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); extern char *basename (__const char *__filename) throw () __attribute__ ((__nonnull__ (1))); # 432 "/usr/include/gentoo-multilib/amd64/string.h" 3 4 } # 9 "/usr/include/string.h" 2 3 4 # 46 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stdarg.h" 1 3 4 # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 105 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stdarg.h" 3 4 typedef __gnuc_va_list va_list; # 47 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; char *qstrdup(const char *); inline uint qstrlen(const char *str) { return str ? uint(strlen(str)) : 0; } inline uint qstrnlen(const char *str, uint maxlen) { uint length = 0; if (str) { while (length < maxlen && *str++) length++; } return length; } char *qstrcpy(char *dst, const char *src); char *qstrncpy(char *dst, const char *src, uint len); int qstrcmp(const char *str1, const char *str2); inline int qstrncmp(const char *str1, const char *str2, uint len) { return (str1 && str2) ? strncmp(str1, str2, len) : (str1 ? 1 : (str2 ? -1 : 0)); } int qstricmp(const char *, const char *); int qstrnicmp(const char *, const char *, uint len); int qvsnprintf(char *str, size_t n, const char *fmt, va_list ap); int qsnprintf(char *str, size_t n, const char *fmt, ...); # 107 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h" quint16 qChecksum(const char *s, uint len); class QByteRef; class QString; class QDataStream; template class QList; class QByteArray { public: inline QByteArray(); QByteArray(const char *); QByteArray(const char *, int size); QByteArray(int size, char c); inline QByteArray(const QByteArray &); inline ~QByteArray(); QByteArray &operator=(const QByteArray &); QByteArray &operator=(const char *str); inline int size() const; bool isEmpty() const; void resize(int size); QByteArray &fill(char c, int size = -1); int capacity() const; void reserve(int size); void squeeze(); operator const char *() const; operator const void *() const; char *data(); const char *data() const; inline const char *constData() const; inline void detach(); bool isDetached() const; void clear(); const char at(int i) const; const char operator[](int i) const; QByteRef operator[](int i); const char operator[](uint i) const; QByteRef operator[](uint i); int indexOf(char c, int from = 0) const; inline int indexOf(const char *c, int from = 0) const; int indexOf(const QByteArray &a, int from = 0) const; int lastIndexOf(char c, int from = -1) const; inline int lastIndexOf(const char *c, int from = -1) const; int lastIndexOf(const QByteArray &a, int from = -1) const; QBool contains(char c) const; QBool contains(const char *a) const; QBool contains(const QByteArray &a) const; int count(char c) const; int count(const char *a) const; int count(const QByteArray &a) const; QByteArray left(int len) const; QByteArray right(int len) const; QByteArray mid(int index, int len = -1) const; bool startsWith(const QByteArray &a) const; bool startsWith(char c) const; bool startsWith(const char *c) const; bool endsWith(const QByteArray &a) const; bool endsWith(char c) const; bool endsWith(const char *c) const; void truncate(int pos); void chop(int n); QByteArray toLower() const; QByteArray toUpper() const; QByteArray trimmed() const; QByteArray simplified() const; QByteArray leftJustified(int width, char fill = ' ', bool truncate = false) const; QByteArray rightJustified(int width, char fill = ' ', bool truncate = false) const; # 196 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h" QByteArray &prepend(char c); QByteArray &prepend(const char *s); QByteArray &prepend(const QByteArray &a); QByteArray &append(char c); QByteArray &append(const char *s); QByteArray &append(const QByteArray &a); QByteArray &insert(int i, char c); QByteArray &insert(int i, const char *s); QByteArray &insert(int i, const QByteArray &a); QByteArray &remove(int index, int len); QByteArray &replace(int index, int len, const char *s); QByteArray &replace(int index, int len, const QByteArray &s); QByteArray &replace(char before, const char *after); QByteArray &replace(char before, const QByteArray &after); QByteArray &replace(const char *before, const char *after); QByteArray &replace(const QByteArray &before, const QByteArray &after); QByteArray &replace(const QByteArray &before, const char *after); QByteArray &replace(const char *before, const QByteArray &after); QByteArray &replace(char before, char after); QByteArray &operator+=(char c); QByteArray &operator+=(const char *s); QByteArray &operator+=(const QByteArray &a); QList split(char sep) const; QByteArray &append(const QString &s); QByteArray &insert(int i, const QString &s); QByteArray &replace(const QString &before, const char *after); QByteArray &replace(char c, const QString &after); QByteArray &replace(const QString &before, const QByteArray &after); QByteArray &operator+=(const QString &s); int indexOf(const QString &s, int from = 0) const; int lastIndexOf(const QString &s, int from = -1) const; inline bool operator==(const QString &s2) const; inline bool operator!=(const QString &s2) const; inline bool operator<(const QString &s2) const; inline bool operator>(const QString &s2) const; inline bool operator<=(const QString &s2) const; inline bool operator>=(const QString &s2) const; short toShort(bool *ok = 0, int base = 10) const; ushort toUShort(bool *ok = 0, int base = 10) const; int toInt(bool *ok = 0, int base = 10) const; uint toUInt(bool *ok = 0, int base = 10) const; long toLong(bool *ok = 0, int base = 10) const; ulong toULong(bool *ok = 0, int base = 10) const; qlonglong toLongLong(bool *ok = 0, int base = 10) const; qulonglong toULongLong(bool *ok = 0, int base = 10) const; float toFloat(bool *ok = 0) const; double toDouble(bool *ok = 0) const; QByteArray toBase64() const; QByteArray toHex() const; QByteArray &setNum(short, int base = 10); QByteArray &setNum(ushort, int base = 10); QByteArray &setNum(int, int base = 10); QByteArray &setNum(uint, int base = 10); QByteArray &setNum(qlonglong, int base = 10); QByteArray &setNum(qulonglong, int base = 10); QByteArray &setNum(float, char f = 'g', int prec = 6); QByteArray &setNum(double, char f = 'g', int prec = 6); static QByteArray number(int, int base = 10); static QByteArray number(uint, int base = 10); static QByteArray number(qlonglong, int base = 10); static QByteArray number(qulonglong, int base = 10); static QByteArray number(double, char f = 'g', int prec = 6); static QByteArray fromRawData(const char *, int size); static QByteArray fromBase64(const QByteArray &base64); static QByteArray fromHex(const QByteArray &hexEncoded); typedef char *iterator; typedef const char *const_iterator; typedef iterator Iterator; typedef const_iterator ConstIterator; iterator begin(); const_iterator begin() const; const_iterator constBegin() const; iterator end(); const_iterator end() const; const_iterator constEnd() const; typedef const char & const_reference; typedef char & reference; void push_back(char c); void push_back(const char *c); void push_back(const QByteArray &a); void push_front(char c); void push_front(const char *c); void push_front(const QByteArray &a); inline int count() const { return d->size; } int length() const { return d->size; } bool isNull() const; # 322 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h" private: operator QNoImplicitBoolCast() const; struct Data { QBasicAtomic ref; int alloc, size; char *data; char array[1]; }; static Data shared_null; static Data shared_empty; Data *d; QByteArray(Data *dd, int , int ) : d(dd) {} void realloc(int alloc); void expand(int i); friend class QByteRef; friend class QString; public: typedef Data * DataPtr; inline DataPtr &data_ptr() { return d; } }; inline QByteArray::QByteArray(): d(&shared_null) { d->ref.ref(); } inline QByteArray::~QByteArray() { if (!d->ref.deref()) qFree(d); } inline int QByteArray::size() const { return d->size; } inline const char QByteArray::at(int i) const { do {if(!(i >= 0 && i < size()))qt_assert("i >= 0 && i < size()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h",349);} while (0); return d->data[i]; } inline const char QByteArray::operator[](int i) const { do {if(!(i >= 0 && i < size()))qt_assert("i >= 0 && i < size()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h",351);} while (0); return d->data[i]; } inline const char QByteArray::operator[](uint i) const { do {if(!(i < uint(size())))qt_assert("i < uint(size())","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h",353);} while (0); return d->data[i]; } inline bool QByteArray::isEmpty() const { return d->size == 0; } inline QByteArray::operator const char *() const { return d->data; } inline QByteArray::operator const void *() const { return d->data; } inline char *QByteArray::data() { detach(); return d->data; } inline const char *QByteArray::data() const { return d->data; } inline const char *QByteArray::constData() const { return d->data; } inline void QByteArray::detach() { if (d->ref != 1 || d->data != d->array) realloc(d->size); } inline bool QByteArray::isDetached() const { return d->ref == 1; } inline QByteArray::QByteArray(const QByteArray &a) : d(a.d) { d->ref.ref(); } inline int QByteArray::capacity() const { return d->alloc; } inline void QByteArray::reserve(int asize) { if (d->ref != 1 || asize > d->alloc) realloc(asize); } inline void QByteArray::squeeze() { if (d->size < d->alloc) realloc(d->size); } class QByteRef { QByteArray &a; int i; inline QByteRef(QByteArray &array, int idx) : a(array),i(idx) {} friend class QByteArray; public: inline operator const char() const { return i < a.d->size ? a.d->data[i] : 0; } inline QByteRef &operator=(char c) { if (a.d->ref != 1 || i >= a.d->size) a.expand(i); a.d->data[i] = c; return *this; } inline QByteRef &operator=(const QByteRef &c) { if (a.d->ref != 1 || i >= a.d->size) a.expand(i); a.d->data[i] = c.a.d->data[c.i]; return *this; } inline bool operator==(char c) const { return a.d->data[i] == c; } inline bool operator!=(char c) const { return a.d->data[i] != c; } inline bool operator>(char c) const { return a.d->data[i] > c; } inline bool operator>=(char c) const { return a.d->data[i] >= c; } inline bool operator<(char c) const { return a.d->data[i] < c; } inline bool operator<=(char c) const { return a.d->data[i] <= c; } }; inline QByteRef QByteArray::operator[](int i) { do {if(!(i >= 0))qt_assert("i >= 0","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h",416);} while (0); return QByteRef(*this, i); } inline QByteRef QByteArray::operator[](uint i) { return QByteRef(*this, i); } inline QByteArray::iterator QByteArray::begin() { detach(); return d->data; } inline QByteArray::const_iterator QByteArray::begin() const { return d->data; } inline QByteArray::const_iterator QByteArray::constBegin() const { return d->data; } inline QByteArray::iterator QByteArray::end() { detach(); return d->data + d->size; } inline QByteArray::const_iterator QByteArray::end() const { return d->data + d->size; } inline QByteArray::const_iterator QByteArray::constEnd() const { return d->data + d->size; } inline QByteArray &QByteArray::operator+=(char c) { return append(c); } inline QByteArray &QByteArray::operator+=(const char *s) { return append(s); } inline QByteArray &QByteArray::operator+=(const QByteArray &a) { return append(a); } inline void QByteArray::push_back(char c) { append(c); } inline void QByteArray::push_back(const char *c) { append(c); } inline void QByteArray::push_back(const QByteArray &a) { append(a); } inline void QByteArray::push_front(char c) { prepend(c); } inline void QByteArray::push_front(const char *c) { prepend(c); } inline void QByteArray::push_front(const QByteArray &a) { prepend(a); } inline QBool QByteArray::contains(const QByteArray &a) const { return QBool(indexOf(a) != -1); } inline QBool QByteArray::contains(char c) const { return QBool(indexOf(c) != -1); } inline bool operator==(const QByteArray &a1, const QByteArray &a2) { return (a1.size() == a2.size()) && (memcmp(a1, a2, a1.size())==0); } inline bool operator==(const QByteArray &a1, const char *a2) { return a2 ? strcmp(a1,a2) == 0 : a1.isEmpty(); } inline bool operator==(const char *a1, const QByteArray &a2) { return a1 ? strcmp(a1,a2) == 0 : a2.isEmpty(); } inline bool operator!=(const QByteArray &a1, const QByteArray &a2) { return !(a1==a2); } inline bool operator!=(const QByteArray &a1, const char *a2) { return a2 ? strcmp(a1,a2) != 0 : !a1.isEmpty(); } inline bool operator!=(const char *a1, const QByteArray &a2) { return a1 ? strcmp(a1,a2) != 0 : !a2.isEmpty(); } inline bool operator<(const QByteArray &a1, const QByteArray &a2) { return strcmp(a1, a2) < 0; } inline bool operator<(const QByteArray &a1, const char *a2) { return qstrcmp(a1, a2) < 0; } inline bool operator<(const char *a1, const QByteArray &a2) { return qstrcmp(a1, a2) < 0; } inline bool operator<=(const QByteArray &a1, const QByteArray &a2) { return strcmp(a1, a2) <= 0; } inline bool operator<=(const QByteArray &a1, const char *a2) { return qstrcmp(a1, a2) <= 0; } inline bool operator<=(const char *a1, const QByteArray &a2) { return qstrcmp(a1, a2) <= 0; } inline bool operator>(const QByteArray &a1, const QByteArray &a2) { return strcmp(a1, a2) > 0; } inline bool operator>(const QByteArray &a1, const char *a2) { return qstrcmp(a1, a2) > 0; } inline bool operator>(const char *a1, const QByteArray &a2) { return qstrcmp(a1, a2) > 0; } inline bool operator>=(const QByteArray &a1, const QByteArray &a2) { return strcmp(a1, a2) >= 0; } inline bool operator>=(const QByteArray &a1, const char *a2) { return qstrcmp(a1, a2) >= 0; } inline bool operator>=(const char *a1, const QByteArray &a2) { return qstrcmp(a1, a2) >= 0; } inline const QByteArray operator+(const QByteArray &a1, const QByteArray &a2) { return QByteArray(a1) += a2; } inline const QByteArray operator+(const QByteArray &a1, const char *a2) { return QByteArray(a1) += a2; } inline const QByteArray operator+(const QByteArray &a1, char a2) { return QByteArray(a1) += a2; } inline const QByteArray operator+(const char *a1, const QByteArray &a2) { return QByteArray(a1) += a2; } inline const QByteArray operator+(char a1, const QByteArray &a2) { return QByteArray(&a1, 1) += a2; } inline int QByteArray::indexOf(const char *c, int i) const { return indexOf(fromRawData(c, qstrlen(c)), i); } inline int QByteArray::lastIndexOf(const char *c, int i) const { return lastIndexOf(fromRawData(c, qstrlen(c)), i); } inline QBool QByteArray::contains(const char *c) const { return contains(fromRawData(c, qstrlen(c))); } inline QByteArray &QByteArray::replace(int index, int len, const char *c) { return replace(index, len, fromRawData(c, qstrlen(c))); } inline QByteArray &QByteArray::replace(char before, const char *c) { return replace(before, fromRawData(c, qstrlen(c))); } inline QByteArray &QByteArray::replace(const QByteArray &before, const char *c) { return replace(before, fromRawData(c, qstrlen(c))); } inline QByteArray &QByteArray::replace(const char *c, const QByteArray &after) { return replace(fromRawData(c, qstrlen(c)), after); } inline QByteArray &QByteArray::replace(const char *before, const char *after) { return replace(fromRawData(before, qstrlen(before)), fromRawData(after, qstrlen(after))); } inline QByteArray &QByteArray::setNum(short n, int base) { return setNum(qlonglong(n), base); } inline QByteArray &QByteArray::setNum(ushort n, int base) { return setNum(qulonglong(n), base); } inline QByteArray &QByteArray::setNum(int n, int base) { return setNum(qlonglong(n), base); } inline QByteArray &QByteArray::setNum(uint n, int base) { return setNum(qulonglong(n), base); } inline QByteArray &QByteArray::setNum(float n, char f, int prec) { return setNum(double(n),f,prec); } QDataStream &operator<<(QDataStream &, const QByteArray &); QDataStream &operator>>(QDataStream &, QByteArray &); # 542 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qbytearray.h" template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QByteArray)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QByteArray"; } }; template <> inline bool qIsDetached(QByteArray &t) { return t.isDetached(); } template inline void qSwap(T &, T &); template <> inline void qSwap(QByteArray &value1, QByteArray &value2) { const QByteArray::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qbytearray.h" 2 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qatomic.h" 1 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qnamespace.h" 1 # 46 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" 2 # 73 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" typedef QtValidLicenseForCoreModule QtCoreModule; class QCharRef; class QRegExp; class QStringList; class QTextCodec; class QLatin1String; class QStringRef; template class QVector; class QString { public: inline QString(); QString(const QChar *unicode, int size); QString(QChar c); QString(int size, QChar c); inline QString(const QLatin1String &latin1); inline QString(const QString &); inline ~QString(); QString &operator=(QChar c); QString &operator=(const QString &); inline QString &operator=(const QLatin1String &); inline int size() const { return d->size; } inline int count() const { return d->size; } inline int length() const; inline bool isEmpty() const; void resize(int size); QString &fill(QChar c, int size = -1); void truncate(int pos); void chop(int n); int capacity() const; inline void reserve(int size); inline void squeeze() { if (d->size < d->alloc) realloc(); d->capacity = 0;} inline const QChar *unicode() const; inline QChar *data(); inline const QChar *data() const; inline const QChar *constData() const; inline void detach(); inline bool isDetached() const; void clear(); inline const QChar at(int i) const; const QChar operator[](int i) const; QCharRef operator[](int i); const QChar operator[](uint i) const; QCharRef operator[](uint i); QString arg(qlonglong a, int fieldwidth=0, int base=10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(qulonglong a, int fieldwidth=0, int base=10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(long a, int fieldwidth=0, int base=10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(ulong a, int fieldwidth=0, int base=10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(int a, int fieldWidth = 0, int base = 10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(uint a, int fieldWidth = 0, int base = 10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(short a, int fieldWidth = 0, int base = 10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(ushort a, int fieldWidth = 0, int base = 10, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(double a, int fieldWidth = 0, char fmt = 'g', int prec = -1, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(char a, int fieldWidth = 0, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(QChar a, int fieldWidth = 0, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(const QString &a, int fieldWidth = 0, const QChar &fillChar = QLatin1Char(' ')) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8) const __attribute__ ((warn_unused_result)); QString arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8, const QString &a9) const __attribute__ ((warn_unused_result)); QString &vsprintf(const char *format, va_list ap); QString &sprintf(const char *format, ...) __attribute__ ((format (printf, 2, 3))) ; int indexOf(QChar c, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int indexOf(const QString &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int lastIndexOf(QChar c, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int lastIndexOf(const QString &s, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; inline QBool contains(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; inline QBool contains(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int count(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int indexOf(const QRegExp &, int from = 0) const; int lastIndexOf(const QRegExp &, int from = -1) const; inline QBool contains(const QRegExp &rx) const { return QBool(indexOf(rx) != -1); } int count(const QRegExp &) const; enum SectionFlag { SectionDefault = 0x00, SectionSkipEmpty = 0x01, SectionIncludeLeadingSep = 0x02, SectionIncludeTrailingSep = 0x04, SectionCaseInsensitiveSeps = 0x08 }; typedef QFlags SectionFlags; QString section(QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; QString section(const QString &in_sep, int start, int end = -1, SectionFlags flags = SectionDefault) const; QString section(const QRegExp ®, int start, int end = -1, SectionFlags flags = SectionDefault) const; QString left(int n) const __attribute__ ((warn_unused_result)); QString right(int n) const __attribute__ ((warn_unused_result)); QString mid(int position, int n = -1) const __attribute__ ((warn_unused_result)); bool startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; bool startsWith(const QLatin1String &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; bool startsWith(const QChar &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; bool endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; bool endsWith(const QLatin1String &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; bool endsWith(const QChar &c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; QString leftJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const __attribute__ ((warn_unused_result)); QString rightJustified(int width, QChar fill = QLatin1Char(' '), bool trunc = false) const __attribute__ ((warn_unused_result)); QString toLower() const __attribute__ ((warn_unused_result)); QString toUpper() const __attribute__ ((warn_unused_result)); QString toCaseFolded() const __attribute__ ((warn_unused_result)); QString trimmed() const __attribute__ ((warn_unused_result)); QString simplified() const __attribute__ ((warn_unused_result)); QString &insert(int i, QChar c); QString &insert(int i, const QChar *uc, int len); inline QString &insert(int i, const QString &s) { return insert(i, s.constData(), s.length()); } QString &insert(int i, const QLatin1String &s); QString &append(QChar c); QString &append(const QString &s); QString &append(const QLatin1String &s); inline QString &prepend(QChar c) { return insert(0, c); } inline QString &prepend(const QString &s) { return insert(0, s); } inline QString &prepend(const QLatin1String &s) { return insert(0, s); } inline QString &operator+=(QChar c) { return append(c); } inline QString &operator+=(QChar::SpecialCharacter c) { return append(QChar(c)); } inline QString &operator+=(const QString &s) { return append(s); } inline QString &operator+=(const QLatin1String &s) { return append(s); } QString &remove(int i, int len); QString &remove(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &remove(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(int i, int len, QChar after); QString &replace(int i, int len, const QChar *s, int slen); QString &replace(int i, int len, const QString &after); QString &replace(QChar before, QChar after, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(QChar c, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); QString &replace(const QRegExp &rx, const QString &after); inline QString &remove(const QRegExp &rx) { return replace(rx, QString()); } enum SplitBehavior { KeepEmptyParts, SkipEmptyParts }; QStringList split(const QString &sep, SplitBehavior behavior = KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const __attribute__ ((warn_unused_result)); QStringList split(const QChar &sep, SplitBehavior behavior = KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const __attribute__ ((warn_unused_result)); QStringList split(const QRegExp &sep, SplitBehavior behavior = KeepEmptyParts) const __attribute__ ((warn_unused_result)); enum NormalizationForm { NormalizationForm_D, NormalizationForm_C, NormalizationForm_KD, NormalizationForm_KC }; QString normalized(NormalizationForm mode) const __attribute__ ((warn_unused_result)); QString normalized(NormalizationForm mode, QChar::UnicodeVersion version) const __attribute__ ((warn_unused_result)); const ushort *utf16() const; QByteArray toAscii() const __attribute__ ((warn_unused_result)); QByteArray toLatin1() const __attribute__ ((warn_unused_result)); QByteArray toUtf8() const __attribute__ ((warn_unused_result)); QByteArray toLocal8Bit() const __attribute__ ((warn_unused_result)); QVector toUcs4() const __attribute__ ((warn_unused_result)); static QString fromAscii(const char *, int size = -1); static QString fromLatin1(const char *, int size = -1); static QString fromUtf8(const char *, int size = -1); static QString fromLocal8Bit(const char *, int size = -1); static QString fromUtf16(const ushort *, int size = -1); static QString fromUcs4(const uint *, int size = -1); static QString fromRawData(const QChar *, int size); int toWCharArray(wchar_t *array) const; static QString fromWCharArray(const wchar_t *, int size = -1); QString &setUnicode(const QChar *unicode, int size); inline QString &setUtf16(const ushort *utf16, int size); int compare(const QString &s) const; int compare(const QString &s, Qt::CaseSensitivity cs) const; int compare(const QLatin1String &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; static inline int compare(const QString &s1, const QString &s2) { return s1.compare(s2); } static inline int compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs) { return s1.compare(s2, cs); } static inline int compare(const QString& s1, const QLatin1String &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) { return s1.compare(s2, cs); } static inline int compare(const QLatin1String& s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) { return -s2.compare(s1, cs); } int localeAwareCompare(const QString& s) const; static int localeAwareCompare(const QString& s1, const QString& s2) { return s1.localeAwareCompare(s2); } short toShort(bool *ok=0, int base=10) const; ushort toUShort(bool *ok=0, int base=10) const; int toInt(bool *ok=0, int base=10) const; uint toUInt(bool *ok=0, int base=10) const; long toLong(bool *ok=0, int base=10) const; ulong toULong(bool *ok=0, int base=10) const; qlonglong toLongLong(bool *ok=0, int base=10) const; qulonglong toULongLong(bool *ok=0, int base=10) const; float toFloat(bool *ok=0) const; double toDouble(bool *ok=0) const; QString &setNum(short, int base=10); QString &setNum(ushort, int base=10); QString &setNum(int, int base=10); QString &setNum(uint, int base=10); QString &setNum(long, int base=10); QString &setNum(ulong, int base=10); QString &setNum(qlonglong, int base=10); QString &setNum(qulonglong, int base=10); QString &setNum(float, char f='g', int prec=6); QString &setNum(double, char f='g', int prec=6); static QString number(int, int base=10); static QString number(uint, int base=10); static QString number(long, int base=10); static QString number(ulong, int base=10); static QString number(qlonglong, int base=10); static QString number(qulonglong, int base=10); static QString number(double, char f='g', int prec=6); bool operator==(const QString &s) const; bool operator<(const QString &s) const; inline bool operator>(const QString &s) const { return s < *this; } inline bool operator!=(const QString &s) const { return !operator==(s); } inline bool operator<=(const QString &s) const { return !operator>(s); } inline bool operator>=(const QString &s) const { return !operator<(s); } bool operator==(const QLatin1String &s) const; bool operator<(const QLatin1String &s) const; bool operator>(const QLatin1String &s) const; inline bool operator!=(const QLatin1String &s) const { return !operator==(s); } inline bool operator<=(const QLatin1String &s) const { return !operator>(s); } inline bool operator>=(const QLatin1String &s) const { return !operator<(s); } inline QString(const char *ch) : d(fromAscii_helper(ch)) {} inline QString(const QByteArray &a) : d(fromAscii_helper(a.constData(), qstrnlen(a.constData(), a.size()))) {} inline QString &operator=(const char *ch) { return (*this = fromAscii(ch)); } inline QString &operator=(const QByteArray &a) { return (*this = fromAscii(a.constData(), qstrnlen(a.constData(), a.size()))); } inline QString &operator=(char c) { return (*this = QChar::fromAscii(c)); } inline QString &prepend(const char *s) { return prepend(QString::fromAscii(s)); } inline QString &prepend(const QByteArray &s) { return prepend(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QString &append(const char *s) { return append(QString::fromAscii(s)); } inline QString &append(const QByteArray &s) { return append(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QString &operator+=(const char *s) { return append(QString::fromAscii(s)); } inline QString &operator+=(const QByteArray &s) { return append(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QString &operator+=(char c) { return append(QChar::fromAscii(c)); } inline bool operator==(const char *s) const; inline bool operator!=(const char *s) const; inline bool operator<(const char *s) const; inline bool operator<=(const char *s2) const; inline bool operator>(const char *s2) const; inline bool operator>=(const char *s2) const; inline bool operator==(const QByteArray &s) const; inline bool operator!=(const QByteArray &s) const; inline bool operator<(const QByteArray &s) const { return *this < QString::fromAscii(s.constData(), s.size()); } inline bool operator>(const QByteArray &s) const { return *this > QString::fromAscii(s.constData(), s.size()); } inline bool operator<=(const QByteArray &s) const { return *this <= QString::fromAscii(s.constData(), s.size()); } inline bool operator>=(const QByteArray &s) const { return *this >= QString::fromAscii(s.constData(), s.size()); } typedef QChar *iterator; typedef const QChar *const_iterator; typedef iterator Iterator; typedef const_iterator ConstIterator; iterator begin(); const_iterator begin() const; const_iterator constBegin() const; iterator end(); const_iterator end() const; const_iterator constEnd() const; inline QString &inline_append(QChar ch) { if (d->ref != 1 || d->size + 1 > d->alloc) realloc(grow(d->size + 1)); d->data[d->size++] = ch.unicode(); d->data[d->size] = '\0'; return *this; } inline void push_back(QChar c) { append(c); } inline void push_back(const QString &s) { append(s); } inline void push_front(QChar c) { prepend(c); } inline void push_front(const QString &s) { prepend(s); } # 458 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" struct Null { }; static const Null null; inline QString(const Null &): d(&shared_null) { d->ref.ref(); } inline QString &operator=(const Null &) { *this = QString(); return *this; } inline bool isNull() const { return d == &shared_null; } # 541 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" bool isSimpleText() const { if (!d->clean) updateProperties(); return d->simpletext; } bool isRightToLeft() const { if (!d->clean) updateProperties(); return d->righttoleft; } private: # 554 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" struct Data { QBasicAtomic ref; int alloc, size; ushort *data; ushort clean : 1; ushort simpletext : 1; ushort righttoleft : 1; ushort asciiCache : 1; ushort capacity : 1; ushort reserved : 11; ushort array[1]; }; static Data shared_null; static Data shared_empty; Data *d; QString(Data *dd, int ) : d(dd) {} static int grow(int); static void free(Data *); void realloc(); void realloc(int alloc); void expand(int i); void updateProperties() const; QString multiArg(int numArgs, const QString **args) const; static Data *fromLatin1_helper(const char *str, int size = -1); static Data *fromAscii_helper(const char *str, int size = -1); friend class QCharRef; friend class QTextCodec; friend class QStringRef; friend inline bool qStringComparisonHelper(const QString &s1, const char *s2); friend inline bool qStringComparisonHelper(const QStringRef &s1, const char *s2); public: typedef Data * DataPtr; inline DataPtr &data_ptr() { return d; } }; class QLatin1String { public: inline explicit QLatin1String(const char *s) : chars(s) {} inline QLatin1String &operator=(const QLatin1String &other) { chars = other.chars; return *this; } inline const char *latin1() const { return chars; } inline bool operator==(const QString &s) const { return s == *this; } inline bool operator!=(const QString &s) const { return s != *this; } inline bool operator>(const QString &s) const { return s < *this; } inline bool operator<(const QString &s) const { return s > *this; } inline bool operator>=(const QString &s) const { return s <= *this; } inline bool operator<=(const QString &s) const { return s >= *this; } inline bool operator==(const char *s) const { return QString::fromAscii(s) == *this; } inline bool operator!=(const char *s) const { return QString::fromAscii(s) != *this; } inline bool operator<(const char *s) const { return QString::fromAscii(s) > *this; } inline bool operator>(const char *s) const { return QString::fromAscii(s) < *this; } inline bool operator<=(const char *s) const { return QString::fromAscii(s) >= *this; } inline bool operator>=(const char *s) const { return QString::fromAscii(s) <= *this; } private: const char *chars; }; inline QString::QString(const QLatin1String &latin1) : d(fromLatin1_helper(latin1.latin1())) { } inline int QString::length() const { return d->size; } inline const QChar QString::at(int i) const { do {if(!(i >= 0 && i < size()))qt_assert("i >= 0 && i < size()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h",638);} while (0); return d->data[i]; } inline const QChar QString::operator[](int i) const { do {if(!(i >= 0 && i < size()))qt_assert("i >= 0 && i < size()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h",640);} while (0); return d->data[i]; } inline const QChar QString::operator[](uint i) const { do {if(!(i < uint(size())))qt_assert("i < uint(size())","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h",642);} while (0); return d->data[i]; } inline bool QString::isEmpty() const { return d->size == 0; } inline const QChar *QString::unicode() const { return reinterpret_cast(d->data); } inline const QChar *QString::data() const { return reinterpret_cast(d->data); } inline QChar *QString::data() { detach(); return reinterpret_cast(d->data); } inline const QChar *QString::constData() const { return reinterpret_cast(d->data); } inline void QString::detach() { if (d->ref != 1 || d->data != d->array) realloc(); } inline bool QString::isDetached() const { return d->ref == 1; } inline QString &QString::operator=(const QLatin1String &s) { *this = fromLatin1(s.latin1()); return *this; } inline void QString::clear() { if (!isNull()) *this = QString(); } inline QString::QString(const QString &other) : d(other.d) { do {if(!(&other != this))qt_assert("&other != this","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h",665);} while (0); d->ref.ref(); } inline int QString::capacity() const { return d->alloc; } inline QString &QString::setNum(short n, int base) { return setNum(qlonglong(n), base); } inline QString &QString::setNum(ushort n, int base) { return setNum(qulonglong(n), base); } inline QString &QString::setNum(int n, int base) { return setNum(qlonglong(n), base); } inline QString &QString::setNum(uint n, int base) { return setNum(qulonglong(n), base); } inline QString &QString::setNum(long n, int base) { return setNum(qlonglong(n), base); } inline QString &QString::setNum(ulong n, int base) { return setNum(qulonglong(n), base); } inline QString &QString::setNum(float n, char f, int prec) { return setNum(double(n),f,prec); } inline QString QString::arg(int a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qlonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(uint a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qulonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(long a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qlonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(ulong a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qulonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(short a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qlonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(ushort a, int fieldWidth, int base, const QChar &fillChar) const { return arg(qulonglong(a), fieldWidth, base, fillChar); } inline QString QString::arg(const QString &a1, const QString &a2) const { const QString *args[2] = { &a1, &a2 }; return multiArg(2, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3) const { const QString *args[3] = { &a1, &a2, &a3 }; return multiArg(3, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4) const { const QString *args[4] = { &a1, &a2, &a3, &a4 }; return multiArg(4, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5) const { const QString *args[5] = { &a1, &a2, &a3, &a4, &a5 }; return multiArg(5, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6) const { const QString *args[6] = { &a1, &a2, &a3, &a4, &a5, &a6 }; return multiArg(6, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7) const { const QString *args[7] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7 }; return multiArg(7, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8) const { const QString *args[8] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8 }; return multiArg(8, args); } inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3, const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8, const QString &a9) const { const QString *args[9] = { &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9 }; return multiArg(9, args); } inline QString QString::section(QChar asep, int astart, int aend, SectionFlags aflags) const { return section(QString(asep), astart, aend, aflags); } class QCharRef { QString &s; int i; inline QCharRef(QString &str, int idx) : s(str),i(idx) {} friend class QString; public: inline operator QChar() const { return i < s.d->size ? s.d->data[i] : 0; } inline QCharRef &operator=(const QChar &c) { if (s.d->ref != 1 || i >= s.d->size) s.expand(i); s.d->data[i] = c.unicode(); return *this; } inline QCharRef &operator=(char c) { return operator=(QChar::fromAscii(c)); } inline QCharRef &operator=(uchar c) { return operator=(QChar::fromAscii(c)); } inline QCharRef &operator=(const QCharRef &c) { return operator=(QChar(c)); } inline QCharRef &operator=(ushort rc) { return operator=(QChar(rc)); } inline QCharRef &operator=(short rc) { return operator=(QChar(rc)); } inline QCharRef &operator=(uint rc) { return operator=(QChar(rc)); } inline QCharRef &operator=(int rc) { return operator=(QChar(rc)); } inline bool isNull() const { return QChar(*this).isNull(); } inline bool isPrint() const { return QChar(*this).isPrint(); } inline bool isPunct() const { return QChar(*this).isPunct(); } inline bool isSpace() const { return QChar(*this).isSpace(); } inline bool isMark() const { return QChar(*this).isMark(); } inline bool isLetter() const { return QChar(*this).isLetter(); } inline bool isNumber() const { return QChar(*this).isNumber(); } inline bool isLetterOrNumber() { return QChar(*this).isLetterOrNumber(); } inline bool isDigit() const { return QChar(*this).isDigit(); } inline bool isLower() const { return QChar(*this).isLower(); } inline bool isUpper() const { return QChar(*this).isUpper(); } inline bool isTitleCase() const { return QChar(*this).isTitleCase(); } inline int digitValue() const { return QChar(*this).digitValue(); } QChar toLower() const { return QChar(*this).toLower(); } QChar toUpper() const { return QChar(*this).toUpper(); } QChar toTitleCase () const { return QChar(*this).toTitleCase(); } QChar::Category category() const { return QChar(*this).category(); } QChar::Direction direction() const { return QChar(*this).direction(); } QChar::Joining joining() const { return QChar(*this).joining(); } bool hasMirrored() const { return QChar(*this).hasMirrored(); } QChar mirroredChar() const { return QChar(*this).mirroredChar(); } QString decomposition() const { return QChar(*this).decomposition(); } QChar::Decomposition decompositionTag() const { return QChar(*this).decompositionTag(); } uchar combiningClass() const { return QChar(*this).combiningClass(); } QChar::UnicodeVersion unicodeVersion() const { return QChar(*this).unicodeVersion(); } inline uchar cell() const { return QChar(*this).cell(); } inline uchar row() const { return QChar(*this).row(); } inline void setCell(uchar cell); inline void setRow(uchar row); const char toAscii() const { return QChar(*this).toAscii(); } const char toLatin1() const { return QChar(*this).toLatin1(); } const ushort unicode() const { return QChar(*this).unicode(); } # 800 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" }; inline void QCharRef::setRow(uchar arow) { QChar(*this).setRow(arow); } inline void QCharRef::setCell(uchar acell) { QChar(*this).setCell(acell); } inline QString::QString() : d(&shared_null) { d->ref.ref(); } inline QString::~QString() { if (!d->ref.deref()) free(d); } inline void QString::reserve(int asize) { if (d->ref != 1 || asize > d->alloc) realloc(asize); d->capacity = 1;} inline QString &QString::setUtf16(const ushort *autf16, int asize) { return setUnicode(reinterpret_cast(autf16), asize); } inline QCharRef QString::operator[](int i) { do {if(!(i >= 0))qt_assert("i >= 0","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h",812);} while (0); return QCharRef(*this, i); } inline QCharRef QString::operator[](uint i) { return QCharRef(*this, i); } inline QString::iterator QString::begin() { detach(); return reinterpret_cast(d->data); } inline QString::const_iterator QString::begin() const { return reinterpret_cast(d->data); } inline QString::const_iterator QString::constBegin() const { return reinterpret_cast(d->data); } inline QString::iterator QString::end() { detach(); return reinterpret_cast(d->data + d->size); } inline QString::const_iterator QString::end() const { return reinterpret_cast(d->data + d->size); } inline QString::const_iterator QString::constEnd() const { return reinterpret_cast(d->data + d->size); } inline QBool QString::contains(const QString &s, Qt::CaseSensitivity cs) const { return QBool(indexOf(s, 0, cs) != -1); } inline QBool QString::contains(QChar c, Qt::CaseSensitivity cs) const { return QBool(indexOf(c, 0, cs) != -1); } inline bool operator==(QString::Null, QString::Null) { return true; } inline bool operator==(QString::Null, const QString &s) { return s.isNull(); } inline bool operator==(const QString &s, QString::Null) { return s.isNull(); } inline bool operator!=(QString::Null, QString::Null) { return false; } inline bool operator!=(QString::Null, const QString &s) { return !s.isNull(); } inline bool operator!=(const QString &s, QString::Null) { return !s.isNull(); } inline bool qStringComparisonHelper(const QString &s1, const char *s2) { return (s1 == QLatin1String(s2)); } inline bool QString::operator==(const char *s) const { return qStringComparisonHelper(*this, s); } inline bool QString::operator!=(const char *s) const { return !qStringComparisonHelper(*this, s); } inline bool QString::operator<(const char *s) const { return *this < QString::fromAscii(s); } inline bool QString::operator>(const char *s) const { return *this > QString::fromAscii(s); } inline bool QString::operator<=(const char *s) const { return *this <= QString::fromAscii(s); } inline bool QString::operator>=(const char *s) const { return *this >= QString::fromAscii(s); } inline bool operator==(const char *s1, const QString &s2) { return qStringComparisonHelper(s2, s1); } inline bool operator!=(const char *s1, const QString &s2) { return !qStringComparisonHelper(s2, s1); } inline bool operator<(const char *s1, const QString &s2) { return (QString::fromAscii(s1) < s2); } inline bool operator>(const char *s1, const QString &s2) { return (QString::fromAscii(s1) > s2); } inline bool operator<=(const char *s1, const QString &s2) { return (QString::fromAscii(s1) <= s2); } inline bool operator>=(const char *s1, const QString &s2) { return (QString::fromAscii(s1) >= s2); } inline bool operator==(const char *s1, const QLatin1String &s2) { return QString::fromAscii(s1) == s2; } inline bool operator!=(const char *s1, const QLatin1String &s2) { return QString::fromAscii(s1) != s2; } inline bool operator<(const char *s1, const QLatin1String &s2) { return (QString::fromAscii(s1) < s2); } inline bool operator>(const char *s1, const QLatin1String &s2) { return (QString::fromAscii(s1) > s2); } inline bool operator<=(const char *s1, const QLatin1String &s2) { return (QString::fromAscii(s1) <= s2); } inline bool operator>=(const char *s1, const QLatin1String &s2) { return (QString::fromAscii(s1) >= s2); } inline bool operator==(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) == 0); } inline bool operator!=(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) != 0); } inline bool operator<(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) < 0); } inline bool operator<=(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) <= 0); } inline bool operator>(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) > 0); } inline bool operator>=(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) >= 0); } inline bool QString::operator==(const QByteArray &s) const { return qStringComparisonHelper(*this, s.constData()); } inline bool QString::operator!=(const QByteArray &s) const { return !qStringComparisonHelper(*this, s.constData()); } inline bool QByteArray::operator==(const QString &s) const { return qStringComparisonHelper(s, constData()); } inline bool QByteArray::operator!=(const QString &s) const { return !qStringComparisonHelper(s, constData()); } inline bool QByteArray::operator<(const QString &s) const { return QString::fromAscii(constData(), size()) < s; } inline bool QByteArray::operator>(const QString &s) const { return QString::fromAscii(constData(), size()) > s; } inline bool QByteArray::operator<=(const QString &s) const { return QString::fromAscii(constData(), size()) <= s; } inline bool QByteArray::operator>=(const QString &s) const { return QString::fromAscii(constData(), size()) >= s; } inline QByteArray &QByteArray::append(const QString &s) { return append(s.toAscii()); } inline QByteArray &QByteArray::insert(int i, const QString &s) { return insert(i, s.toAscii()); } inline QByteArray &QByteArray::replace(char c, const QString &after) { return replace(c, after.toAscii()); } inline QByteArray &QByteArray::replace(const QString &before, const char *after) { return replace(before.toAscii(), after); } inline QByteArray &QByteArray::replace(const QString &before, const QByteArray &after) { return replace(before.toAscii(), after); } inline QByteArray &QByteArray::operator+=(const QString &s) { return operator+=(s.toAscii()); } inline int QByteArray::indexOf(const QString &s, int from) const { return indexOf(s.toAscii(), from); } inline int QByteArray::lastIndexOf(const QString &s, int from) const { return lastIndexOf(s.toAscii(), from); } # 945 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" inline const QString operator+(const QString &s1, const QString &s2) { QString t(s1); t += s2; return t; } inline const QString operator+(const QString &s1, QChar s2) { QString t(s1); t += s2; return t; } inline const QString operator+(QChar s1, const QString &s2) { QString t(s1); t += s2; return t; } inline const QString operator+(const QString &s1, const char *s2) { QString t(s1); t += QString::fromAscii(s2); return t; } inline const QString operator+(const char *s1, const QString &s2) { QString t = QString::fromAscii(s1); t += s2; return t; } inline const QString operator+(char c, const QString &s) { QString t = s; t.prepend(QChar::fromAscii(c)); return t; } inline const QString operator+(const QString &s, char c) { QString t = s; t += QChar::fromAscii(c); return t; } inline const QString operator+(const QByteArray &ba, const QString &s) { QString t = QString::fromAscii(ba.constData(), qstrnlen(ba.constData(), ba.size())); t += s; return t; } inline const QString operator+(const QString &s, const QByteArray &ba) { QString t(s); t += QString::fromAscii(ba.constData(), qstrnlen(ba.constData(), ba.size())); return t; } # 1003 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" QDataStream &operator<<(QDataStream &, const QString &); QDataStream &operator>>(QDataStream &, QString &); # 1017 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QString)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QString"; } }; template <> inline bool qIsDetached(QString &t) { return t.isDetached(); } template inline void qSwap(T &, T &); template <> inline void qSwap(QString &value1, QString &value2) { const QString::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } inline QFlags operator|(QString::SectionFlags::enum_type f1, QString::SectionFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QString::SectionFlags::enum_type f1, QFlags f2) { return f2 | f1; } # 1028 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h" class QStringRef { const QString *m_string; int m_position; int m_size; public: inline QStringRef():m_string(0), m_position(0), m_size(0){} inline QStringRef(const QString *string, int position, int size); inline QStringRef(const QString *string); inline QStringRef(const QStringRef &other) :m_string(other.m_string), m_position(other.m_position), m_size(other.m_size) {} inline ~QStringRef(){} inline const QString *string() const { return m_string; } inline int position() const { return m_position; } inline int size() const { return m_size; } inline int count() const { return m_size; } inline int length() const { return m_size; } inline QStringRef &operator=(const QStringRef &other) { m_string = other.m_string; m_position = other.m_position; m_size = other.m_size; return *this; } inline QStringRef &operator=(const QString *string); inline const QChar *unicode() const { if (!m_string) return reinterpret_cast(QString::shared_null.data); return m_string->unicode() + m_position; } inline const QChar *data() const { return unicode(); } inline const QChar *constData() const { return unicode(); } inline void clear() { m_string = 0; m_position = m_size = 0; } QString toString() const; inline bool isEmpty() const { return m_size == 0; } inline bool isNull() const { return m_string == 0 || m_string->isNull(); } QStringRef appendTo(QString *string) const; inline const QChar at(int i) const { do {if(!(i >= 0 && i < size()))qt_assert("i >= 0 && i < size()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstring.h",1070);} while (0); return m_string->at(i + m_position); } }; inline QStringRef &QStringRef::operator=(const QString *aString) { m_string = aString; m_position = 0; m_size = aString?aString->size():0; return *this; } inline QStringRef::QStringRef(const QString *aString, int aPosition, int aSize) :m_string(aString), m_position(aPosition), m_size(aSize){} inline QStringRef::QStringRef(const QString *aString) :m_string(aString), m_position(0), m_size(aString?aString->size() : 0){} bool operator==(const QStringRef &s1,const QStringRef &s2); inline bool operator!=(const QStringRef &s1,const QStringRef &s2) { return !(s1 == s2); } bool operator==(const QString &s1,const QStringRef &s2); inline bool operator!=(const QString &s1,const QStringRef &s2) { return !(s1 == s2); } inline bool operator==(const QStringRef &s1,const QString &s2) { return s2 == s1; } inline bool operator!=(const QStringRef &s1,const QString &s2) { return s2 != s1; } bool operator==(const QLatin1String &s1, const QStringRef &s2); inline bool operator!=(const QLatin1String &s1,const QStringRef &s2) { return !(s1 == s2); } inline bool operator==(const QStringRef &s1,const QLatin1String &s2) { return s2 == s1; } inline bool operator!=(const QStringRef &s1,const QLatin1String &s2) { return s2 != s1; } bool operator<(const QStringRef &s1,const QStringRef &s2); inline bool operator>(const QStringRef &s1, const QStringRef &s2) { return s2 < s1; } inline bool operator<=(const QStringRef &s1, const QStringRef &s2) { return !(s1 > s2); } inline bool operator>=(const QStringRef &s1, const QStringRef &s2) { return !(s1 < s2); } inline bool qStringComparisonHelper(const QStringRef &s1, const char *s2) { return (s1 == QLatin1String(s2)); } inline bool operator==(const char *s1, const QStringRef &s2) { return qStringComparisonHelper(s2, s1); } inline bool operator==(const QStringRef &s1, const char *s2) { return qStringComparisonHelper(s1, s2); } inline bool operator!=(const char *s1, const QStringRef &s2) { return !qStringComparisonHelper(s2, s1); } inline bool operator!=(const QStringRef &s1, const char *s2) { return !qStringComparisonHelper(s1, s2); } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 2 # 48 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qiodevice.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QByteArray; class QIODevicePrivate; class QIODevice { public: enum OpenModeFlag { NotOpen = 0x0000, ReadOnly = 0x0001, WriteOnly = 0x0002, ReadWrite = ReadOnly | WriteOnly, Append = 0x0004, Truncate = 0x0008, Text = 0x0010, Unbuffered = 0x0020 }; typedef QFlags OpenMode; QIODevice(); virtual ~QIODevice(); OpenMode openMode() const; void setTextModeEnabled(bool enabled); bool isTextModeEnabled() const; bool isOpen() const; bool isReadable() const; bool isWritable() const; virtual bool isSequential() const; virtual bool open(OpenMode mode); virtual void close(); virtual qint64 pos() const; virtual qint64 size() const; virtual bool seek(qint64 pos); virtual bool atEnd() const; virtual bool reset(); virtual qint64 bytesAvailable() const; virtual qint64 bytesToWrite() const; qint64 read(char *data, qint64 maxlen); QByteArray read(qint64 maxlen); QByteArray readAll(); qint64 readLine(char *data, qint64 maxlen); QByteArray readLine(qint64 maxlen = 0); virtual bool canReadLine() const; qint64 write(const char *data, qint64 len); inline qint64 write(const QByteArray &data) { return write(data.constData(), data.size()); } qint64 peek(char *data, qint64 maxlen); QByteArray peek(qint64 maxlen); virtual bool waitForReadyRead(int msecs); virtual bool waitForBytesWritten(int msecs); void ungetChar(char c); bool putChar(char c); bool getChar(char *c); QString errorString() const; # 141 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qiodevice.h" protected: QIODevice(QIODevicePrivate &dd); virtual qint64 readData(char *data, qint64 maxlen) = 0; virtual qint64 readLineData(char *data, qint64 maxlen); virtual qint64 writeData(const char *data, qint64 len) = 0; void setOpenMode(OpenMode openMode); void setErrorString(const QString &errorString); QIODevicePrivate *d_ptr; private: inline QIODevicePrivate* d_func() { return reinterpret_cast(d_ptr); } inline const QIODevicePrivate* d_func() const { return reinterpret_cast(d_ptr); } friend class QIODevicePrivate; QIODevice(const QIODevice &); QIODevice &operator=(const QIODevice &); # 196 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qiodevice.h" }; inline QFlags operator|(QIODevice::OpenMode::enum_type f1, QIODevice::OpenMode::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QIODevice::OpenMode::enum_type f1, QFlags f2) { return f2 | f1; } # 238 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qiodevice.h" class QDebug; QDebug operator<<(QDebug debug, QIODevice::OpenMode modes); # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qiodevice.h" 2 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdatastream.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qglobal.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdatastream.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QByteArray; class QIODevice; template class QList; template class QLinkedList; template class QVector; template class QSet; template class QHash; template class QMap; class QDataStreamPrivate; class QDataStream { public: enum Version { Qt_1_0 = 1, Qt_2_0 = 2, Qt_2_1 = 3, Qt_3_0 = 4, Qt_3_1 = 5, Qt_3_3 = 6, Qt_4_0 = 7, Qt_4_1 = Qt_4_0, Qt_4_2 = 8, Qt_4_3 = 9 }; enum ByteOrder { BigEndian = QSysInfo::BigEndian, LittleEndian = QSysInfo::LittleEndian }; enum Status { Ok, ReadPastEnd, ReadCorruptData }; QDataStream(); explicit QDataStream(QIODevice *); QDataStream(QByteArray *, QIODevice::OpenMode flags); QDataStream(const QByteArray &); virtual ~QDataStream(); QIODevice *device() const; void setDevice(QIODevice *); void unsetDevice(); bool atEnd() const; Status status() const; void setStatus(Status status); void resetStatus(); ByteOrder byteOrder() const; void setByteOrder(ByteOrder); int version() const; void setVersion(int); QDataStream &operator>>(qint8 &i); QDataStream &operator>>(quint8 &i); QDataStream &operator>>(qint16 &i); QDataStream &operator>>(quint16 &i); QDataStream &operator>>(qint32 &i); QDataStream &operator>>(quint32 &i); QDataStream &operator>>(qint64 &i); QDataStream &operator>>(quint64 &i); QDataStream &operator>>(bool &i); QDataStream &operator>>(float &f); QDataStream &operator>>(double &f); QDataStream &operator>>(char *&str); QDataStream &operator<<(qint8 i); QDataStream &operator<<(quint8 i); QDataStream &operator<<(qint16 i); QDataStream &operator<<(quint16 i); QDataStream &operator<<(qint32 i); QDataStream &operator<<(quint32 i); QDataStream &operator<<(qint64 i); QDataStream &operator<<(quint64 i); QDataStream &operator<<(bool i); QDataStream &operator<<(float f); QDataStream &operator<<(double f); QDataStream &operator<<(const char *str); QDataStream &readBytes(char *&, uint &len); int readRawData(char *, int len); QDataStream &writeBytes(const char *, uint len); int writeRawData(const char *, int len); int skipRawData(int len); # 168 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdatastream.h" private: QDataStream(const QDataStream &); QDataStream &operator=(const QDataStream &); QDataStreamPrivate *d; QIODevice *dev; bool owndev; bool noswap; ByteOrder byteorder; int ver; Status q_status; }; inline QIODevice *QDataStream::device() const { return dev; } inline QDataStream::ByteOrder QDataStream::byteOrder() const { return byteorder; } inline int QDataStream::version() const { return ver; } inline void QDataStream::setVersion(int v) { ver = v; } inline QDataStream &QDataStream::operator>>(quint8 &i) { return *this >> reinterpret_cast(i); } inline QDataStream &QDataStream::operator>>(quint16 &i) { return *this >> reinterpret_cast(i); } inline QDataStream &QDataStream::operator>>(quint32 &i) { return *this >> reinterpret_cast(i); } inline QDataStream &QDataStream::operator>>(quint64 &i) { return *this >> reinterpret_cast(i); } inline QDataStream &QDataStream::operator<<(quint8 i) { return *this << qint8(i); } inline QDataStream &QDataStream::operator<<(quint16 i) { return *this << qint16(i); } inline QDataStream &QDataStream::operator<<(quint32 i) { return *this << qint32(i); } inline QDataStream &QDataStream::operator<<(quint64 i) { return *this << qint64(i); } template QDataStream& operator>>(QDataStream& s, QList& l) { l.clear(); quint32 c; s >> c; for(quint32 i = 0; i < c; ++i) { T t; s >> t; l.append(t); if (s.atEnd()) break; } return s; } template QDataStream& operator<<(QDataStream& s, const QList& l) { s << quint32(l.size()); for (int i = 0; i < l.size(); ++i) s << l.at(i); return s; } template QDataStream& operator>>(QDataStream& s, QLinkedList& l) { l.clear(); quint32 c; s >> c; for(quint32 i = 0; i < c; ++i) { T t; s >> t; l.append(t); if (s.atEnd()) break; } return s; } template QDataStream& operator<<(QDataStream& s, const QLinkedList& l) { s << quint32(l.size()); typename QLinkedList::ConstIterator it = l.constBegin(); for(; it != l.constEnd(); ++it) s << *it; return s; } template QDataStream& operator>>(QDataStream& s, QVector& v) { v.clear(); quint32 c; s >> c; v.resize(c); for(quint32 i = 0; i < c; ++i) { T t; s >> t; v[i] = t; } return s; } template QDataStream& operator<<(QDataStream& s, const QVector& v) { s << quint32(v.size()); for (typename QVector::const_iterator it = v.begin(); it != v.end(); ++it) s << *it; return s; } template QDataStream &operator>>(QDataStream &in, QSet &set) { set.clear(); quint32 c; in >> c; for (quint32 i = 0; i < c; ++i) { T t; in >> t; set << t; if (in.atEnd()) break; } return in; } template QDataStream& operator<<(QDataStream &out, const QSet &set) { out << quint32(set.size()); typename QSet::const_iterator i = set.constBegin(); while (i != set.constEnd()) { out << *i; ++i; } return out; } template QDataStream &operator>>(QDataStream &in, QHash &hash) { QDataStream::Status oldStatus = in.status(); in.resetStatus(); hash.clear(); quint32 n; in >> n; for (quint32 i = 0; i < n; ++i) { if (in.status() != QDataStream::Ok) break; Key k; T t; in >> k >> t; hash.insertMulti(k, t); } if (in.status() != QDataStream::Ok) hash.clear(); if (oldStatus != QDataStream::Ok) in.setStatus(oldStatus); return in; } template QDataStream &operator<<(QDataStream &out, const QHash& hash) { out << quint32(hash.size()); typename QHash::ConstIterator it = hash.end(); typename QHash::ConstIterator begin = hash.begin(); while (it != begin) { --it; out << it.key() << it.value(); } return out; } template QDataStream &operator>>(QDataStream &in, QMap &map) { QDataStream::Status oldStatus = in.status(); in.resetStatus(); map.clear(); quint32 n; in >> n; map.detach(); map.setInsertInOrder(true); for (quint32 i = 0; i < n; ++i) { if (in.status() != QDataStream::Ok) break; aKey key; aT value; in >> key >> value; map.insertMulti(key, value); } map.setInsertInOrder(false); if (in.status() != QDataStream::Ok) map.clear(); if (oldStatus != QDataStream::Ok) in.setStatus(oldStatus); return in; } template QDataStream &operator<<(QDataStream &out, const QMap &map) { out << quint32(map.size()); typename QMap::ConstIterator it = map.end(); typename QMap::ConstIterator begin = map.begin(); while (it != begin) { --it; out << it.key() << it.value(); } return out; } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qdatastream.h" 2 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringlist.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qlist.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qiterator.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qiterator.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qiterator.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qglobal.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qiterator.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; } # 190 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qiterator.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qiterator.h" 2 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qatomic.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qalgorithms.h" 1 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h" 2 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/new" 1 3 # 41 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/new" 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/cstddef" 1 3 # 48 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/cstddef" 3 # 49 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/cstddef" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 52 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/cstddef" 2 3 namespace std { using ::ptrdiff_t; using ::size_t; } #pragma GCC visibility pop # 42 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/new" 2 3 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/exception" 1 3 # 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/exception" 3 #pragma GCC visibility push(default) extern "C++" { namespace std { # 54 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/exception" 3 class exception { public: exception() throw() { } virtual ~exception() throw(); virtual const char* what() const throw(); }; class bad_exception : public exception { public: bad_exception() throw() { } virtual ~bad_exception() throw(); }; typedef void (*terminate_handler) (); typedef void (*unexpected_handler) (); terminate_handler set_terminate(terminate_handler) throw(); void terminate() __attribute__ ((__noreturn__)); unexpected_handler set_unexpected(unexpected_handler) throw(); void unexpected() __attribute__ ((__noreturn__)); # 102 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/exception" 3 bool uncaught_exception() throw(); } namespace __gnu_cxx { # 117 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/exception" 3 void __verbose_terminate_handler (); } } #pragma GCC visibility pop # 43 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/new" 2 3 #pragma GCC visibility push(default) extern "C++" { namespace std { class bad_alloc : public exception { public: bad_alloc() throw() { } virtual ~bad_alloc() throw(); }; struct nothrow_t { }; extern const nothrow_t nothrow; typedef void (*new_handler)(); new_handler set_new_handler(new_handler) throw(); } # 84 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/new" 3 void* operator new(std::size_t) throw (std::bad_alloc); void* operator new[](std::size_t) throw (std::bad_alloc); void operator delete(void*) throw(); void operator delete[](void*) throw(); void* operator new(std::size_t, const std::nothrow_t&) throw(); void* operator new[](std::size_t, const std::nothrow_t&) throw(); void operator delete(void*, const std::nothrow_t&) throw(); void operator delete[](void*, const std::nothrow_t&) throw(); inline void* operator new(std::size_t, void* __p) throw() { return __p; } inline void* operator new[](std::size_t, void* __p) throw() { return __p; } inline void operator delete (void*, void*) throw() { } inline void operator delete[](void*, void*) throw() { } } #pragma GCC visibility pop # 52 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; template class QVector; template class QSet; struct QListData { struct Data { QBasicAtomic ref; int alloc, begin, end; uint sharable : 1; void *array[1]; }; enum { DataHeaderSize = sizeof(Data) - sizeof(void *) }; Data *detach(); Data *detach2(); void realloc(int alloc); static Data shared_null; Data *d; void **erase(void **xi); void **append(); void **append(const QListData &l); void **prepend(); void **insert(int i); void remove(int i); void remove(int i, int n); void move(int from, int to); inline int size() const { return d->end - d->begin; } inline bool isEmpty() const { return d->end == d->begin; } inline void **at(int i) const { return d->array + d->begin + i; } inline void **begin() const { return d->array + d->begin; } inline void **end() const { return d->array + d->end; } }; template class QList { struct Node { void *v; inline T &t() { return *reinterpret_cast(QTypeInfo::isLarge || QTypeInfo::isStatic ? v : this); } }; union { QListData p; QListData::Data *d; }; public: inline QList() : d(&QListData::shared_null) { d->ref.ref(); } inline QList(const QList &l) : d(l.d) { d->ref.ref(); if (!d->sharable) detach_helper(); } ~QList(); QList &operator=(const QList &l); bool operator==(const QList &l) const; inline bool operator!=(const QList &l) const { return !(*this == l); } inline int size() const { return p.size(); } inline void detach() { if (d->ref != 1) detach_helper(); } inline bool isDetached() const { return d->ref == 1; } inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } inline bool isEmpty() const { return p.isEmpty(); } void clear(); const T &at(int i) const; const T &operator[](int i) const; T &operator[](int i); void append(const T &t); void prepend(const T &t); void insert(int i, const T &t); void replace(int i, const T &t); void removeAt(int i); int removeAll(const T &t); T takeAt(int i); T takeFirst(); T takeLast(); void move(int from, int to); void swap(int i, int j); int indexOf(const T &t, int from = 0) const; int lastIndexOf(const T &t, int from = -1) const; QBool contains(const T &t) const; int count(const T &t) const; class const_iterator; class iterator { public: Node *i; typedef std::random_access_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef T *pointer; typedef T &reference; inline iterator() : i(0) {} inline iterator(Node *n) : i(n) {} inline iterator(const iterator &o): i(o.i){} inline T &operator*() const { return i->t(); } inline T *operator->() const { return &i->t(); } inline T &operator[](int j) const { return i[j].t(); } inline bool operator==(const iterator &o) const { return i == o.i; } inline bool operator!=(const iterator &o) const { return i != o.i; } inline bool operator<(const iterator& other) const { return i < other.i; } inline bool operator<=(const iterator& other) const { return i <= other.i; } inline bool operator>(const iterator& other) const { return i > other.i; } inline bool operator>=(const iterator& other) const { return i >= other.i; } inline bool operator==(const const_iterator &o) const { return i == reinterpret_cast(o).i; } inline bool operator!=(const const_iterator &o) const { return i != reinterpret_cast(o).i; } inline bool operator<(const const_iterator& other) const { return i < reinterpret_cast(other).i; } inline bool operator<=(const const_iterator& other) const { return i <= reinterpret_cast(other).i; } inline bool operator>(const const_iterator& other) const { return i > reinterpret_cast(other).i; } inline bool operator>=(const const_iterator& other) const { return i >= reinterpret_cast(other).i; } inline iterator &operator++() { ++i; return *this; } inline iterator operator++(int) { Node *n = i; ++i; return n; } inline iterator &operator--() { i--; return *this; } inline iterator operator--(int) { Node *n = i; i--; return n; } inline iterator &operator+=(int j) { i+=j; return *this; } inline iterator &operator-=(int j) { i-=j; return *this; } inline iterator operator+(int j) const { return iterator(i+j); } inline iterator operator-(int j) const { return iterator(i-j); } inline int operator-(iterator j) const { return i - j.i; } }; friend class iterator; class const_iterator { public: Node *i; typedef std::random_access_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef const T *pointer; typedef const T &reference; inline const_iterator() : i(0) {} inline const_iterator(Node *n) : i(n) {} inline const_iterator(const const_iterator &o): i(o.i) {} inline const_iterator(const iterator &o): i(o.i) {} inline const T &operator*() const { return i->t(); } inline const T *operator->() const { return &i->t(); } inline const T &operator[](int j) const { return i[j].t(); } inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } inline bool operator<(const const_iterator& other) const { return i < other.i; } inline bool operator<=(const const_iterator& other) const { return i <= other.i; } inline bool operator>(const const_iterator& other) const { return i > other.i; } inline bool operator>=(const const_iterator& other) const { return i >= other.i; } inline const_iterator &operator++() { ++i; return *this; } inline const_iterator operator++(int) { Node *n = i; ++i; return n; } inline const_iterator &operator--() { i--; return *this; } inline const_iterator operator--(int) { Node *n = i; i--; return n; } inline const_iterator &operator+=(int j) { i+=j; return *this; } inline const_iterator &operator-=(int j) { i-=j; return *this; } inline const_iterator operator+(int j) const { return const_iterator(i+j); } inline const_iterator operator-(int j) const { return const_iterator(i-j); } inline int operator-(const_iterator j) const { return i - j.i; } }; friend class const_iterator; inline iterator begin() { detach(); return reinterpret_cast(p.begin()); } inline const_iterator begin() const { return reinterpret_cast(p.begin()); } inline const_iterator constBegin() const { return reinterpret_cast(p.begin()); } inline iterator end() { detach(); return reinterpret_cast(p.end()); } inline const_iterator end() const { return reinterpret_cast(p.end()); } inline const_iterator constEnd() const { return reinterpret_cast(p.end()); } iterator insert(iterator before, const T &t); iterator erase(iterator pos); iterator erase(iterator first, iterator last); typedef iterator Iterator; typedef const_iterator ConstIterator; inline int count() const { return p.size(); } inline T& first() { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",244);} while (0); return *begin(); } inline const T& first() const { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",245);} while (0); return *begin(); } T& last() { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",246);} while (0); return *(--end()); } const T& last() const { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",247);} while (0); return *(--end()); } inline void removeFirst() { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",248);} while (0); erase(begin()); } inline void removeLast() { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",249);} while (0); erase(--end()); } QList mid(int pos, int length = -1) const; T value(int i) const; T value(int i, const T &defaultValue) const; inline void push_back(const T &t) { append(t); } inline void push_front(const T &t) { prepend(t); } inline T& front() { return first(); } inline const T& front() const { return first(); } inline T& back() { return last(); } inline const T& back() const { return last(); } inline void pop_front() { removeFirst(); } inline void pop_back() { removeLast(); } inline bool empty() const { return isEmpty(); } typedef int size_type; typedef T value_type; typedef value_type *pointer; typedef const value_type *const_pointer; typedef value_type &reference; typedef const value_type &const_reference; typedef ptrdiff_t difference_type; # 288 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h" QList &operator+=(const QList &l); inline QList operator+(const QList &l) const { QList n = *this; n += l; return n; } inline QList &operator+=(const T &t) { append(t); return *this; } inline QList &operator<< (const T &t) { append(t); return *this; } inline QList &operator<<(const QList &l) { *this += l; return *this; } QVector toVector() const; QSet toSet() const; static QList fromVector(const QVector &vector); static QList fromSet(const QSet &set); # 311 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h" private: void detach_helper(); void free(QListData::Data *d); void node_construct(Node *n, const T &t); void node_destruct(Node *n); void node_copy(Node *from, Node *to, Node *src); void node_destruct(Node *from, Node *to); }; template inline void QList::node_construct(Node *n, const T &t) { if (QTypeInfo::isLarge || QTypeInfo::isStatic) n->v = new T(t); else if (QTypeInfo::isComplex) new (n) T(t); else *reinterpret_cast(n) = t; } template inline void QList::node_destruct(Node *n) { if (QTypeInfo::isLarge || QTypeInfo::isStatic) delete reinterpret_cast(n->v); else if (QTypeInfo::isComplex) reinterpret_cast(n)->~T(); } template inline void QList::node_copy(Node *from, Node *to, Node *src) { if (QTypeInfo::isLarge || QTypeInfo::isStatic) while(from != to) (from++)->v = new T(*reinterpret_cast((src++)->v)); else if (QTypeInfo::isComplex) while(from != to) new (from++) T(*reinterpret_cast(src++)); } template inline void QList::node_destruct(Node *from, Node *to) { if (QTypeInfo::isLarge || QTypeInfo::isStatic) while(from != to) --to, delete reinterpret_cast(to->v); else if (QTypeInfo::isComplex) while (from != to) --to, reinterpret_cast(to)->~T(); } template inline QList &QList::operator=(const QList &l) { if (d != l.d) { QListData::Data *x = l.d; x->ref.ref(); x = qAtomicSetPtr(&d, x); if (!x->ref.deref()) free(x); if (!d->sharable) detach_helper(); } return *this; } template inline typename QList::iterator QList::insert(iterator before, const T &t) { Node *n = reinterpret_cast(p.insert(before.i-reinterpret_cast(p.begin()))); node_construct(n,t); return n; } template inline typename QList::iterator QList::erase(iterator it) { node_destruct(it.i); return reinterpret_cast(p.erase(reinterpret_cast(it.i))); } template inline const T &QList::at(int i) const { do {if(!(i >= 0 && i < p.size()))qt_assert_x("QList::at", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",386);} while (0); return reinterpret_cast(p.at(i))->t(); } template inline const T &QList::operator[](int i) const { do {if(!(i >= 0 && i < p.size()))qt_assert_x("QList::operator[]", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",390);} while (0); return reinterpret_cast(p.at(i))->t(); } template inline T &QList::operator[](int i) { do {if(!(i >= 0 && i < p.size()))qt_assert_x("QList::operator[]", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",394);} while (0); detach(); return reinterpret_cast(p.at(i))->t(); } template inline void QList::removeAt(int i) { if(i >= 0 && i < p.size()) { detach(); node_destruct(reinterpret_cast(p.at(i))); p.remove(i); } } template inline T QList::takeAt(int i) { do {if(!(i >= 0 && i < p.size()))qt_assert_x("QList::take", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",402);} while (0); detach(); Node *n = reinterpret_cast(p.at(i)); T t = n->t(); node_destruct(n); p.remove(i); return t; } template inline T QList::takeFirst() { T t = first(); removeFirst(); return t; } template inline T QList::takeLast() { T t = last(); removeLast(); return t; } template void QList::append(const T &t) { detach(); if (QTypeInfo::isLarge || QTypeInfo::isStatic) { node_construct(reinterpret_cast(p.append()), t); } else { const T cpy(t); node_construct(reinterpret_cast(p.append()), cpy); } } template inline void QList::prepend(const T &t) { detach(); if (QTypeInfo::isLarge || QTypeInfo::isStatic) { node_construct(reinterpret_cast(p.prepend()), t); } else { const T cpy(t); node_construct(reinterpret_cast(p.prepend()), cpy); } } template inline void QList::insert(int i, const T &t) { detach(); if (QTypeInfo::isLarge || QTypeInfo::isStatic) { node_construct(reinterpret_cast(p.insert(i)), t); } else { const T cpy(t); node_construct(reinterpret_cast(p.insert(i)), cpy); } } template inline void QList::replace(int i, const T &t) { do {if(!(i >= 0 && i < p.size()))qt_assert_x("QList::replace", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",451);} while (0); detach(); if (QTypeInfo::isLarge || QTypeInfo::isStatic) { reinterpret_cast(p.at(i))->t() = t; } else { const T cpy(t); reinterpret_cast(p.at(i))->t() = cpy; } } template inline void QList::swap(int i, int j) { do {if(!(i >= 0 && i < p.size() && j >= 0 && j < p.size()))qt_assert_x("QList::swap", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",465);} while (0); detach(); void *t = d->array[d->begin + i]; d->array[d->begin + i] = d->array[d->begin + j]; d->array[d->begin + j] = t; } template inline void QList::move(int from, int to) { do {if(!(from >= 0 && from < p.size() && to >= 0 && to < p.size()))qt_assert_x("QList::move", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",476);} while (0); detach(); p.move(from, to); } template QList QList::mid(int pos, int length) const { if (length < 0) length = size() - pos; if (pos == 0 && length == size()) return *this; QList cpy; if (pos + length > size()) length = size() - pos; for (int i = pos; i < pos + length; ++i) cpy += at(i); return cpy; } template T QList::value(int i) const { if (i < 0 || i >= p.size()) { return T(); } return reinterpret_cast(p.at(i))->t(); } template T QList::value(int i, const T& defaultValue) const { return ((i < 0 || i >= p.size()) ? defaultValue : reinterpret_cast(p.at(i))->t()); } template void QList::detach_helper() { Node *n = reinterpret_cast(p.begin()); QListData::Data *x = p.detach2(); node_copy(reinterpret_cast(p.begin()), reinterpret_cast(p.end()), n); if (!x->ref.deref()) free(x); } template QList::~QList() { if (!d) return; QListData::Data *x = &QListData::shared_null; x = qAtomicSetPtr(&d, x); if (!x->ref.deref()) free(x); } template bool QList::operator==(const QList &l) const { if (p.size() != l.p.size()) return false; if (d == l.d) return true; Node *i = reinterpret_cast(p.end()); Node *b = reinterpret_cast(p.begin()); Node *li = reinterpret_cast(l.p.end()); while (i != b) { --i; --li; if (!(i->t() == li->t())) return false; } return true; } template void QList::free(QListData::Data *data) { node_destruct(reinterpret_cast(data->array + data->begin), reinterpret_cast(data->array + data->end)); if (data->ref == 0) qFree(data); } template void QList::clear() { *this = QList(); } template int QList::removeAll(const T &_t) { detach(); const T t = _t; int removedCount=0, i=0; Node *n; while (i < p.size()) if ((n = reinterpret_cast(p.at(i)))->t() == t) { node_destruct(n); p.remove(i); ++removedCount; } else { ++i; } return removedCount; } template typename QList::iterator QList::erase(typename QList::iterator afirst, typename QList::iterator alast) { for (Node *n = afirst.i; n < alast.i; ++n) node_destruct(n); int idx = afirst - begin(); p.remove(idx, alast - afirst); return begin() + idx; } template QList &QList::operator+=(const QList &l) { detach(); Node *n = reinterpret_cast(p.append(l.p)); node_copy(n, reinterpret_cast(p.end()), reinterpret_cast(l.p.begin())); return *this; } template int QList::indexOf(const T &t, int from) const { if (from < 0) from = qMax(from + p.size(), 0); if (from < p.size()) { Node *n = reinterpret_cast(p.at(from -1)); Node *e = reinterpret_cast(p.end()); while (++n != e) if (n->t() == t) return n - reinterpret_cast(p.begin()); } return -1; } template int QList::lastIndexOf(const T &t, int from) const { if (from < 0) from += p.size(); else if (from >= p.size()) from = p.size()-1; if (from >= 0) { Node *b = reinterpret_cast(p.begin()); Node *n = reinterpret_cast(p.at(from + 1)); while (n-- != b) { if (n->t() == t) return n - b; } } return -1; } template QBool QList::contains(const T &t) const { Node *b = reinterpret_cast(p.begin()); Node *i = reinterpret_cast(p.end()); while (i-- != b) if (i->t() == t) return QBool(true); return QBool(false); } template int QList::count(const T &t) const { int c = 0; Node *b = reinterpret_cast(p.begin()); Node *i = reinterpret_cast(p.end()); while (i-- != b) if (i->t() == t) ++c; return c; } template class QListIterator { typedef typename QList::const_iterator const_iterator; QList c; const_iterator i; public: inline QListIterator(const QList &container) : c(container), i(c.constBegin()) {} inline QListIterator &operator=(const QList &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; template class QMutableListIterator { typedef typename QList::iterator iterator; typedef typename QList::const_iterator const_iterator; QList *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableListIterator(QList &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableListIterator() { c->setSharable(true); } inline QMutableListIterator &operator=(QList &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = i; } inline bool hasNext() const { return c->constEnd() != const_iterator(i); } inline T &next() { n = i++; return *n; } inline T &peekNext() const { return *i; } inline bool hasPrevious() const { return c->constBegin() != const_iterator(i); } inline T &previous() { n = --i; return *n; } inline T &peekPrevious() const { iterator p = i; return *--p; } inline void remove() { if (c->constEnd() != const_iterator(n)) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) const { if (c->constEnd() != const_iterator(n)) *n = t; } inline T &value() { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",662);} while (0); return *n; } inline const T &value() const { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qlist.h",662);} while (0); return *n; } inline void insert(const T &t) { n = i = c->insert(i, t); ++i; } inline bool findNext(const T &t) { while (c->constEnd() != const_iterator(n = i)) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (c->constBegin() != const_iterator(i)) if (*(n = --i) == t) return true; n = c->end(); return false; } }; # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qlist.h" 2 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringlist.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qregexp.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qregexp.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qregexp.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qregexp.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; struct QRegExpPrivate; class QStringList; class QRegExp { public: enum PatternSyntax { RegExp, Wildcard, FixedString, RegExp2 }; enum CaretMode { CaretAtZero, CaretAtOffset, CaretWontMatch }; QRegExp(); explicit QRegExp(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive, PatternSyntax syntax = RegExp); QRegExp(const QRegExp &rx); ~QRegExp(); QRegExp &operator=(const QRegExp &rx); bool operator==(const QRegExp &rx) const; inline bool operator!=(const QRegExp &rx) const { return !operator==(rx); } bool isEmpty() const; bool isValid() const; QString pattern() const; void setPattern(const QString &pattern); Qt::CaseSensitivity caseSensitivity() const; void setCaseSensitivity(Qt::CaseSensitivity cs); PatternSyntax patternSyntax() const; void setPatternSyntax(PatternSyntax syntax); bool isMinimal() const; void setMinimal(bool minimal); bool exactMatch(const QString &str) const; int indexIn(const QString &str, int offset = 0, CaretMode caretMode = CaretAtZero) const; int lastIndexIn(const QString &str, int offset = -1, CaretMode caretMode = CaretAtZero) const; # 109 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qregexp.h" int matchedLength() const; int numCaptures() const; QStringList capturedTexts(); QString cap(int nth = 0); int pos(int nth = 0); QString errorString(); static QString escape(const QString &str); # 129 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qregexp.h" private: QRegExpPrivate *priv; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QRegExp)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QRegExp"; } }; QDataStream &operator<<(QDataStream &out, const QRegExp ®Exp); QDataStream &operator>>(QDataStream &in, QRegExp ®Exp); # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qregexp.h" 2 # 46 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringlist.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 47 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringlist.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstringmatcher.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringmatcher.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringmatcher.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringmatcher.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QStringMatcherPrivate; class QStringMatcher { public: QStringMatcher(); QStringMatcher(const QString &pattern, Qt::CaseSensitivity cs = Qt::CaseSensitive); QStringMatcher(const QStringMatcher &other); ~QStringMatcher(); QStringMatcher &operator=(const QStringMatcher &other); void setPattern(const QString &pattern); void setCaseSensitivity(Qt::CaseSensitivity cs); int indexIn(const QString &str, int from = 0) const; inline QString pattern() const { return q_pattern; } inline Qt::CaseSensitivity caseSensitivity() const { return q_cs; } private: QStringMatcherPrivate *d_ptr; QString q_pattern; Qt::CaseSensitivity q_cs; uint q_skiptable[256]; }; # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstringmatcher.h" 2 # 48 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringlist.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QRegExp; typedef QListIterator QStringListIterator; typedef QMutableListIterator QMutableStringListIterator; class QStringList : public QList { public: inline QStringList() { } inline explicit QStringList(const QString &i) { append(i); } inline QStringList(const QStringList &l) : QList(l) { } inline QStringList(const QList &l) : QList(l) { } inline void sort(); inline QString join(const QString &sep) const; inline QStringList filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; inline QBool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; inline QStringList &replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive); inline QStringList operator+(const QStringList &other) const { QStringList n = *this; n += other; return n; } inline QStringList &operator<<(const QString &str) { append(str); return *this; } inline QStringList &operator<<(const QStringList &l) { *this += l; return *this; } inline QStringList filter(const QRegExp &rx) const; inline QStringList &replaceInStrings(const QRegExp &rx, const QString &after); inline int indexOf(const QRegExp &rx, int from = 0) const; inline int lastIndexOf(const QRegExp &rx, int from = -1) const; using QList::indexOf; using QList::lastIndexOf; # 118 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringlist.h" }; namespace QtPrivate { void QStringList_sort(QStringList *that); QString QStringList_join(const QStringList *that, const QString &sep); QStringList QStringList_filter(const QStringList *that, const QString &str, Qt::CaseSensitivity cs); QBool QStringList_contains(const QStringList *that, const QString &str, Qt::CaseSensitivity cs); void QStringList_replaceInStrings(QStringList *that, const QString &before, const QString &after, Qt::CaseSensitivity cs); void QStringList_replaceInStrings(QStringList *that, const QRegExp &rx, const QString &after); QStringList QStringList_filter(const QStringList *that, const QRegExp &re); int QStringList_indexOf(const QStringList *that, const QRegExp &rx, int from); int QStringList_lastIndexOf(const QStringList *that, const QRegExp &rx, int from); } inline void QStringList::sort() { QtPrivate::QStringList_sort(this); } inline QString QStringList::join(const QString &sep) const { return QtPrivate::QStringList_join(this, sep); } inline QStringList QStringList::filter(const QString &str, Qt::CaseSensitivity cs) const { return QtPrivate::QStringList_filter(this, str, cs); } inline QBool QStringList::contains(const QString &str, Qt::CaseSensitivity cs) const { return QtPrivate::QStringList_contains(this, str, cs); } inline QStringList &QStringList::replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs) { QtPrivate::QStringList_replaceInStrings(this, before, after, cs); return *this; } inline QStringList &QStringList::replaceInStrings(const QRegExp &rx, const QString &after) { QtPrivate::QStringList_replaceInStrings(this, rx, after); return *this; } inline QStringList QStringList::filter(const QRegExp &rx) const { return QtPrivate::QStringList_filter(this, rx); } inline int QStringList::indexOf(const QRegExp &rx, int from) const { return QtPrivate::QStringList_indexOf(this, rx, from); } inline int QStringList::lastIndexOf(const QRegExp &rx, int from) const { return QtPrivate::QStringList_lastIndexOf(this, rx, from); } # 219 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstringlist.h" inline QDataStream &operator>>(QDataStream &in, QStringList &list) { return operator>>(in, static_cast &>(list)); } inline QDataStream &operator<<(QDataStream &out, const QStringList &list) { return operator<<(out, static_cast &>(list)); } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstringlist.h" 2 # 43 "./project.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qtextstream.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qtextstream.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qtextstream.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qiodevice.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qtextstream.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qtextstream.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qchar.h" 1 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qtextstream.h" 2 # 53 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qtextstream.h" # 1 "/usr/include/stdio.h" 1 3 4 # 9 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/stdio.h" 1 3 4 # 28 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 29 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 extern "C" { # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 35 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 9 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/types.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/amd64/bits/types.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 28 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 2 3 4 # 29 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 32 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef long int __quad_t; typedef unsigned long int __u_quad_t; # 134 "/usr/include/gentoo-multilib/amd64/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 9 "/usr/include/bits/typesizes.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/typesizes.h" 1 3 4 # 9 "/usr/include/bits/typesizes.h" 2 3 4 # 135 "/usr/include/gentoo-multilib/amd64/bits/types.h" 2 3 4 typedef unsigned long int __dev_t; typedef unsigned int __uid_t; typedef unsigned int __gid_t; typedef unsigned long int __ino_t; typedef unsigned long int __ino64_t; typedef unsigned int __mode_t; typedef unsigned long int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; typedef struct { int __val[2]; } __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; typedef unsigned int __id_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef int __daddr_t; typedef long int __swblk_t; typedef int __key_t; typedef int __clockid_t; typedef void * __timer_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef long int __blkcnt64_t; typedef unsigned long int __fsblkcnt_t; typedef unsigned long int __fsblkcnt64_t; typedef unsigned long int __fsfilcnt_t; typedef unsigned long int __fsfilcnt64_t; typedef long int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; typedef long int __intptr_t; typedef unsigned int __socklen_t; # 9 "/usr/include/bits/types.h" 2 3 4 # 37 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 # 45 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 struct _IO_FILE; typedef struct _IO_FILE FILE; # 65 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 75 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 # 1 "/usr/include/libio.h" 1 3 4 # 9 "/usr/include/libio.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/libio.h" 1 3 4 # 32 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 # 1 "/usr/include/_G_config.h" 1 3 4 # 9 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/_G_config.h" 1 3 4 # 9 "/usr/include/gentoo-multilib/amd64/_G_config.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 10 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 355 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 3 4 typedef unsigned int wint_t; # 15 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4 # 24 "/usr/include/gentoo-multilib/amd64/_G_config.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 9 "/usr/include/wchar.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/wchar.h" 1 3 4 # 48 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 49 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 9 "/usr/include/bits/wchar.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/wchar.h" 1 3 4 # 9 "/usr/include/bits/wchar.h" 2 3 4 # 51 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4 # 76 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 9 "/usr/include/wchar.h" 2 3 4 # 25 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/include/gentoo-multilib/amd64/_G_config.h" 3 4 # 1 "/usr/include/gconv.h" 1 3 4 # 9 "/usr/include/gconv.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/gconv.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/amd64/gconv.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/amd64/gconv.h" 2 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 9 "/usr/include/wchar.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/wchar.h" 1 3 4 # 48 "/usr/include/gentoo-multilib/amd64/wchar.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 49 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 51 "/usr/include/gentoo-multilib/amd64/wchar.h" 2 3 4 # 9 "/usr/include/wchar.h" 2 3 4 # 29 "/usr/include/gentoo-multilib/amd64/gconv.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 32 "/usr/include/gentoo-multilib/amd64/gconv.h" 2 3 4 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_btowc_fct __btowc_fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 9 "/usr/include/gconv.h" 2 3 4 # 45 "/usr/include/gentoo-multilib/amd64/_G_config.h" 2 3 4 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 9 "/usr/include/_G_config.h" 2 3 4 # 33 "/usr/include/gentoo-multilib/amd64/libio.h" 2 3 4 # 167 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 177 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 200 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 268 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 316 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 __off64_t _offset; # 325 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 void *__pad1; void *__pad2; void *__pad3; void *__pad4; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 361 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); typedef __io_read_fn cookie_read_function_t; typedef __io_write_fn cookie_write_function_t; typedef __io_seek_fn cookie_seek_function_t; typedef __io_close_fn cookie_close_function_t; typedef struct { __io_read_fn *read; __io_write_fn *write; __io_seek_fn *seek; __io_close_fn *close; } _IO_cookie_io_functions_t; typedef _IO_cookie_io_functions_t cookie_io_functions_t; struct _IO_cookie_file; extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, void *__cookie, _IO_cookie_io_functions_t __fns); extern "C" { extern int __underflow (_IO_FILE *); extern int __uflow (_IO_FILE *); extern int __overflow (_IO_FILE *, int); extern wint_t __wunderflow (_IO_FILE *); extern wint_t __wuflow (_IO_FILE *); extern wint_t __woverflow (_IO_FILE *, wint_t); # 451 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp); extern int _IO_putc (int __c, _IO_FILE *__fp); extern int _IO_feof (_IO_FILE *__fp) throw (); extern int _IO_ferror (_IO_FILE *__fp) throw (); extern int _IO_peekc_locked (_IO_FILE *__fp); extern void _IO_flockfile (_IO_FILE *) throw (); extern void _IO_funlockfile (_IO_FILE *) throw (); extern int _IO_ftrylockfile (_IO_FILE *) throw (); # 481 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict); extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list); extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); extern void _IO_free_backup_area (_IO_FILE *) throw (); # 543 "/usr/include/gentoo-multilib/amd64/libio.h" 3 4 } # 9 "/usr/include/libio.h" 2 3 4 # 76 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 # 89 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 typedef _G_fpos_t fpos_t; typedef _G_fpos64_t fpos64_t; # 141 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 9 "/usr/include/bits/stdio_lim.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h" 1 3 4 # 9 "/usr/include/bits/stdio_lim.h" 2 3 4 # 142 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) throw (); extern int rename (__const char *__old, __const char *__new) throw (); extern int renameat (int __oldfd, __const char *__old, int __newfd, __const char *__new) throw (); # 172 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern FILE *tmpfile (void) ; # 182 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern FILE *tmpfile64 (void) ; extern char *tmpnam (char *__s) throw () ; extern char *tmpnam_r (char *__s) throw () ; # 204 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern char *tempnam (__const char *__dir, __const char *__pfx) throw () __attribute__ ((__malloc__)) ; # 214 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 229 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 239 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fcloseall (void); # 249 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) ; extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) ; # 272 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern FILE *fopen64 (__const char *__restrict __filename, __const char *__restrict __modes) ; extern FILE *freopen64 (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) ; extern FILE *fdopen (int __fd, __const char *__modes) throw () ; extern FILE *fopencookie (void *__restrict __magic_cookie, __const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) throw () ; extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) throw () ; extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () ; extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) throw (); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) throw (); extern void setlinebuf (FILE *__stream) throw (); # 331 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) throw (); extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw (); extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__printf__, 2, 0))) ; extern int __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); # 403 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int scanf (__const char *__restrict __format, ...) ; extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) throw (); # 421 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))) ; extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) ; extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__scanf__, 2, 0))); # 445 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 464 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 475 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); # 487 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 508 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); # 536 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) ; extern char *gets (char *__s) ; # 554 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) ; # 570 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) ; # 594 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); extern int puts (__const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) ; # 631 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fputs_unlocked (__const char *__restrict __s, FILE *__restrict __stream); # 642 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; # 654 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream); # 678 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) ; # 697 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, __const fpos_t *__pos); # 720 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream) ; extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos); extern void clearerr (FILE *__stream) throw (); extern int feof (FILE *__stream) throw () ; extern int ferror (FILE *__stream) throw () ; extern void clearerr_unlocked (FILE *__stream) throw (); extern int feof_unlocked (FILE *__stream) throw () ; extern int ferror_unlocked (FILE *__stream) throw () ; # 751 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern void perror (__const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 # 9 "/usr/include/bits/sys_errlist.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h" 3 4 extern int sys_nerr; extern __const char *__const sys_errlist[]; extern int _sys_nerr; extern __const char *__const _sys_errlist[]; # 9 "/usr/include/bits/sys_errlist.h" 2 3 4 # 759 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 extern int fileno (FILE *__stream) throw () ; extern int fileno_unlocked (FILE *__stream) throw () ; # 778 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 extern FILE *popen (__const char *__command, __const char *__modes) ; extern int pclose (FILE *__stream); extern char *ctermid (char *__s) throw (); extern char *cuserid (char *__s); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __format, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __format, __gnuc_va_list __args) throw () __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) throw (); extern int ftrylockfile (FILE *__stream) throw () ; extern void funlockfile (FILE *__stream) throw (); # 839 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 # 1 "/usr/include/bits/stdio.h" 1 3 4 # 9 "/usr/include/bits/stdio.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/stdio.h" 1 3 4 # 33 "/usr/include/gentoo-multilib/amd64/bits/stdio.h" 3 4 inline int vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } inline int getchar (void) { return _IO_getc (stdin); } inline int fgetc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } inline int getc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } inline int getchar_unlocked (void) { return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } inline int putchar (int __c) { return _IO_putc (__c, stdout); } inline int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } inline int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } inline int putchar_unlocked (int __c) { return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } inline __ssize_t getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } inline int feof_unlocked (FILE *__stream) throw () { return (((__stream)->_flags & 0x10) != 0); } inline int ferror_unlocked (FILE *__stream) throw () { return (((__stream)->_flags & 0x20) != 0); } # 9 "/usr/include/bits/stdio.h" 2 3 4 # 840 "/usr/include/gentoo-multilib/amd64/stdio.h" 2 3 4 # 848 "/usr/include/gentoo-multilib/amd64/stdio.h" 3 4 } # 9 "/usr/include/stdio.h" 2 3 4 # 53 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qtextstream.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QTextCodec; class QTextDecoder; class QTextStreamPrivate; class QTextStream { inline QTextStreamPrivate* d_func() { return reinterpret_cast(d_ptr); } inline const QTextStreamPrivate* d_func() const { return reinterpret_cast(d_ptr); } friend class QTextStreamPrivate; public: enum RealNumberNotation { SmartNotation, FixedNotation, ScientificNotation }; enum FieldAlignment { AlignLeft, AlignRight, AlignCenter, AlignAccountingStyle }; enum Status { Ok, ReadPastEnd, ReadCorruptData }; enum NumberFlag { ShowBase = 0x1, ForcePoint = 0x2, ForceSign = 0x4, UppercaseBase = 0x8, UppercaseDigits = 0x10 }; typedef QFlags NumberFlags; QTextStream(); explicit QTextStream(QIODevice *device); explicit QTextStream(FILE *fileHandle, QIODevice::OpenMode openMode = QIODevice::ReadWrite); explicit QTextStream(QString *string, QIODevice::OpenMode openMode = QIODevice::ReadWrite); explicit QTextStream(QByteArray *array, QIODevice::OpenMode openMode = QIODevice::ReadWrite); explicit QTextStream(const QByteArray &array, QIODevice::OpenMode openMode = QIODevice::ReadOnly); virtual ~QTextStream(); # 114 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qtextstream.h" void setDevice(QIODevice *device); QIODevice *device() const; void setString(QString *string, QIODevice::OpenMode openMode = QIODevice::ReadWrite); QString *string() const; Status status() const; void setStatus(Status status); void resetStatus(); bool atEnd() const; void reset(); void flush(); bool seek(qint64 pos); qint64 pos() const; void skipWhiteSpace(); QString readLine(qint64 maxlen = 0); QString readAll(); QString read(qint64 maxlen); void setFieldAlignment(FieldAlignment alignment); FieldAlignment fieldAlignment() const; void setPadChar(QChar ch); QChar padChar() const; void setFieldWidth(int width); int fieldWidth() const; void setNumberFlags(NumberFlags flags); NumberFlags numberFlags() const; void setIntegerBase(int base); int integerBase() const; void setRealNumberNotation(RealNumberNotation notation); RealNumberNotation realNumberNotation() const; void setRealNumberPrecision(int precision); int realNumberPrecision() const; QTextStream &operator>>(QChar &ch); QTextStream &operator>>(char &ch); QTextStream &operator>>(signed short &i); QTextStream &operator>>(unsigned short &i); QTextStream &operator>>(signed int &i); QTextStream &operator>>(unsigned int &i); QTextStream &operator>>(signed long &i); QTextStream &operator>>(unsigned long &i); QTextStream &operator>>(qlonglong &i); QTextStream &operator>>(qulonglong &i); QTextStream &operator>>(float &f); QTextStream &operator>>(double &f); QTextStream &operator>>(QString &s); QTextStream &operator>>(QByteArray &array); QTextStream &operator>>(char *c); QTextStream &operator<<(QBool b); QTextStream &operator<<(QChar ch); QTextStream &operator<<(char ch); QTextStream &operator<<(signed short i); QTextStream &operator<<(unsigned short i); QTextStream &operator<<(signed int i); QTextStream &operator<<(unsigned int i); QTextStream &operator<<(signed long i); QTextStream &operator<<(unsigned long i); QTextStream &operator<<(qlonglong i); QTextStream &operator<<(qulonglong i); QTextStream &operator<<(float f); QTextStream &operator<<(double f); QTextStream &operator<<(const QString &s); QTextStream &operator<<(const QByteArray &array); QTextStream &operator<<(const char *c); QTextStream &operator<<(const void *ptr); # 242 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qtextstream.h" private: QTextStream(const QTextStream &); QTextStream &operator=(const QTextStream &); QTextStreamPrivate *d_ptr; }; inline QFlags operator|(QTextStream::NumberFlags::enum_type f1, QTextStream::NumberFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QTextStream::NumberFlags::enum_type f1, QFlags f2) { return f2 | f1; } typedef QTextStream & (*QTextStreamFunction)(QTextStream &); typedef void (QTextStream::*QTSMFI)(int); typedef void (QTextStream::*QTSMFC)(QChar); class QTextStreamManipulator { public: QTextStreamManipulator(QTSMFI m, int a) { mf = m; mc = 0; arg = a; } QTextStreamManipulator(QTSMFC m, QChar c) { mf = 0; mc = m; ch = c; } void exec(QTextStream &s) { if (mf) { (s.*mf)(arg); } else { (s.*mc)(ch); } } private: QTSMFI mf; QTSMFC mc; int arg; QChar ch; }; inline QTextStream &operator>>(QTextStream &s, QTextStreamFunction f) { return (*f)(s); } inline QTextStream &operator<<(QTextStream &s, QTextStreamFunction f) { return (*f)(s); } inline QTextStream &operator<<(QTextStream &s, QTextStreamManipulator m) { m.exec(s); return s; } QTextStream &bin(QTextStream &s); QTextStream &oct(QTextStream &s); QTextStream &dec(QTextStream &s); QTextStream &hex(QTextStream &s); QTextStream &showbase(QTextStream &s); QTextStream &forcesign(QTextStream &s); QTextStream &forcepoint(QTextStream &s); QTextStream &noshowbase(QTextStream &s); QTextStream &noforcesign(QTextStream &s); QTextStream &noforcepoint(QTextStream &s); QTextStream &uppercasebase(QTextStream &s); QTextStream &uppercasedigits(QTextStream &s); QTextStream &lowercasebase(QTextStream &s); QTextStream &lowercasedigits(QTextStream &s); QTextStream &fixed(QTextStream &s); QTextStream &scientific(QTextStream &s); QTextStream &left(QTextStream &s); QTextStream &right(QTextStream &s); QTextStream ¢er(QTextStream &s); QTextStream &endl(QTextStream &s); QTextStream &flush(QTextStream &s); QTextStream &reset(QTextStream &s); QTextStream &bom(QTextStream &s); QTextStream &ws(QTextStream &s); inline QTextStreamManipulator qSetFieldWidth(int width) { QTSMFI func = &QTextStream::setFieldWidth; return QTextStreamManipulator(func,width); } inline QTextStreamManipulator qSetPadChar(QChar ch) { QTSMFC func = &QTextStream::setPadChar; return QTextStreamManipulator(func, ch); } inline QTextStreamManipulator qSetRealNumberPrecision(int precision) { QTSMFI func = &QTextStream::setRealNumberPrecision; return QTextStreamManipulator(func, precision); } # 362 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qtextstream.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qtextstream.h" 2 # 44 "./project.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 45 "./project.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstack.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstack.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstack.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qvector.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qiterator.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qatomic.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qalgorithms.h" 1 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qlist.h" 1 # 46 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h" 2 # 1 "/usr/include/stdlib.h" 1 3 4 # 9 "/usr/include/stdlib.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/stdlib.h" 1 3 4 # 25 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 # 34 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 34 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 extern "C" { # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 9 "/usr/include/bits/waitflags.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/waitflags.h" 1 3 4 # 9 "/usr/include/bits/waitflags.h" 2 3 4 # 43 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 9 "/usr/include/bits/waitstatus.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 1 3 4 # 65 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 9 "/usr/include/endian.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/endian.h" 1 3 4 # 22 "/usr/include/gentoo-multilib/amd64/endian.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 23 "/usr/include/gentoo-multilib/amd64/endian.h" 2 3 4 # 37 "/usr/include/gentoo-multilib/amd64/endian.h" 3 4 # 1 "/usr/include/bits/endian.h" 1 3 4 # 9 "/usr/include/bits/endian.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/endian.h" 1 3 4 # 9 "/usr/include/bits/endian.h" 2 3 4 # 38 "/usr/include/gentoo-multilib/amd64/endian.h" 2 3 4 # 9 "/usr/include/endian.h" 2 3 4 # 66 "/usr/include/gentoo-multilib/amd64/bits/waitstatus.h" 2 3 4 union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; # 9 "/usr/include/bits/waitstatus.h" 2 3 4 # 44 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 # 96 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 140 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) throw () ; extern double atof (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (__const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ; extern float strtof (__const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ; extern long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))) ; extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () __attribute__ ((__nonnull__ (1))) ; # 236 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 # 1 "/usr/include/xlocale.h" 1 3 4 # 237 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 extern long int strtol_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) ; extern unsigned long int strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) ; __extension__ extern long long int strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) ; __extension__ extern unsigned long long int strtoull_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))) ; extern double strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))) ; extern float strtof_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))) ; extern long double strtold_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))) ; extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) throw () __attribute__ ((__nonnull__ (1))) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) throw () __attribute__ ((__nonnull__ (1))) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) throw () __attribute__ ((__nonnull__ (1))) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) throw () __attribute__ ((__nonnull__ (1))) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) throw () __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) throw () __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) throw () __attribute__ ((__nonnull__ (1))) ; # 327 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern __inline double strtod (__const char *__restrict __nptr, char **__restrict __endptr) throw () { return __strtod_internal (__nptr, __endptr, 0); } extern __inline long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtoul_internal (__nptr, __endptr, __base, 0); } extern __inline float strtof (__const char *__restrict __nptr, char **__restrict __endptr) throw () { return __strtof_internal (__nptr, __endptr, 0); } extern __inline long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) throw () { return __strtold_internal (__nptr, __endptr, 0); } __extension__ extern __inline long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtoull_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtoll_internal (__nptr, __endptr, __base, 0); } __extension__ extern __inline unsigned long long int strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base) throw () { return __strtoull_internal (__nptr, __endptr, __base, 0); } extern __inline double atof (__const char *__nptr) throw () { return strtod (__nptr, (char **) __null); } extern __inline int atoi (__const char *__nptr) throw () { return (int) strtol (__nptr, (char **) __null, 10); } extern __inline long int atol (__const char *__nptr) throw () { return strtol (__nptr, (char **) __null, 10); } __extension__ extern __inline long long int atoll (__const char *__nptr) throw () { return strtoll (__nptr, (char **) __null, 10); } # 429 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern char *l64a (long int __n) throw () ; extern long int a64l (__const char *__s) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 1 "/usr/include/sys/types.h" 1 3 4 # 9 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/sys/types.h" 1 3 4 # 27 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 28 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 extern "C" { # 1 "/usr/include/bits/types.h" 1 3 4 # 32 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off_t off_t; typedef __off64_t off64_t; typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 133 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 9 "/usr/include/time.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4 # 57 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 58 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 typedef __clock_t clock_t; # 73 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 74 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 typedef __time_t time_t; # 90 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 91 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 typedef __clockid_t clockid_t; # 102 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 103 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 typedef __timer_t timer_t; # 9 "/usr/include/time.h" 2 3 4 # 134 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 148 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 195 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 217 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 218 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 9 "/usr/include/sys/select.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/sys/select.h" 1 3 4 # 25 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 29 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 # 1 "/usr/include/bits/select.h" 1 3 4 # 9 "/usr/include/bits/select.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/select.h" 1 3 4 # 9 "/usr/include/bits/select.h" 2 3 4 # 32 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 9 "/usr/include/bits/sigset.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 1 3 4 # 24 "/usr/include/gentoo-multilib/amd64/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 9 "/usr/include/bits/sigset.h" 2 3 4 # 35 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 3 4 # 9 "/usr/include/time.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4 # 117 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 118 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 9 "/usr/include/time.h" 2 3 4 # 45 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 9 "/usr/include/bits/time.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/time.h" 1 3 4 # 65 "/usr/include/gentoo-multilib/amd64/bits/time.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 66 "/usr/include/gentoo-multilib/amd64/bits/time.h" 2 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 9 "/usr/include/bits/time.h" 2 3 4 # 47 "/usr/include/gentoo-multilib/amd64/sys/select.h" 2 3 4 # 55 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4 typedef long int __fd_mask; # 67 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4 typedef struct { __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4 extern "C" { # 109 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 121 "/usr/include/gentoo-multilib/amd64/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); } # 9 "/usr/include/sys/select.h" 2 3 4 # 221 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 # 1 "/usr/include/sys/sysmacros.h" 1 3 4 # 9 "/usr/include/sys/sysmacros.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 1 3 4 # 24 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 25 "/usr/include/gentoo-multilib/amd64/sys/sysmacros.h" 2 3 4 __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) throw (); __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) throw (); __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw (); __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) throw () { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) throw () { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw () { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 9 "/usr/include/sys/sysmacros.h" 2 3 4 # 224 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 262 "/usr/include/gentoo-multilib/amd64/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 9 "/usr/include/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 1 3 4 # 23 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/wordsize.h" 1 3 4 # 9 "/usr/include/bits/wordsize.h" 2 3 4 # 24 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 2 3 4 # 50 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; typedef union { char __size[56]; long int __align; } pthread_attr_t; typedef struct __pthread_internal_list { struct __pthread_internal_list *__prev; struct __pthread_internal_list *__next; } __pthread_list_t; # 76 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4 typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; unsigned int __nusers; int __kind; int __spins; __pthread_list_t __list; # 101 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4 } __data; char __size[40]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; unsigned int __futex; __extension__ unsigned long long int __total_seq; __extension__ unsigned long long int __wakeup_seq; __extension__ unsigned long long int __woken_seq; void *__mutex; unsigned int __nwaiters; unsigned int __broadcast_seq; } __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { char __size[4]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; typedef union { struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; int __writer; int __pad1; unsigned long int __pad2; unsigned long int __pad3; unsigned int __flags; } __data; # 184 "/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h" 3 4 char __size[56]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[32]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 9 "/usr/include/bits/pthreadtypes.h" 2 3 4 # 271 "/usr/include/gentoo-multilib/amd64/sys/types.h" 2 3 4 } # 9 "/usr/include/sys/types.h" 2 3 4 # 439 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 extern long int random (void) throw (); extern void srandom (unsigned int __seed) throw (); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) throw () __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) throw () __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) throw () __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) throw (); extern void srand (unsigned int __seed) throw (); extern int rand_r (unsigned int *__seed) throw (); extern double drand48 (void) throw (); extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) throw (); extern long int nrand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) throw (); extern long int jrand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) throw (); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) throw () __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); # 589 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) ; extern void *calloc (size_t __nmemb, size_t __size) throw () __attribute__ ((__malloc__)) ; extern void *realloc (void *__ptr, size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) throw (); extern void cfree (void *__ptr) throw (); # 1 "/usr/include/alloca.h" 1 3 4 # 9 "/usr/include/alloca.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/alloca.h" 1 3 4 # 22 "/usr/include/gentoo-multilib/amd64/alloca.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 23 "/usr/include/gentoo-multilib/amd64/alloca.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 26 "/usr/include/gentoo-multilib/amd64/alloca.h" 2 3 4 extern "C" { extern void *alloca (size_t __size) throw (); } # 9 "/usr/include/alloca.h" 2 3 4 # 613 "/usr/include/gentoo-multilib/amd64/stdlib.h" 2 3 4 extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) throw () __attribute__ ((__nonnull__ (1))) ; extern void abort (void) throw () __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) throw () __attribute__ ((__nonnull__ (1))); extern void exit (int __status) throw () __attribute__ ((__noreturn__)); extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); extern char *getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ; extern char *__secure_getenv (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ; extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); extern int setenv (__const char *__name, __const char *__value, int __replace) throw () __attribute__ ((__nonnull__ (2))); extern int unsetenv (__const char *__name) throw (); extern int clearenv (void) throw (); # 698 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; # 709 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; # 719 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; # 729 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; # 738 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern int system (__const char *__command) ; extern char *canonicalize_file_name (__const char *__name) throw () __attribute__ ((__nonnull__ (1))) ; # 755 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) throw () ; typedef int (*__compar_fn_t) (__const void *, __const void *); typedef __compar_fn_t comparison_fn_t; extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) ; extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) throw () __attribute__ ((__const__)) ; extern long int labs (long int __x) throw () __attribute__ ((__const__)) ; __extension__ extern long long int llabs (long long int __x) throw () __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) throw () __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) throw () __attribute__ ((__const__)) ; __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) throw () __attribute__ ((__const__)) ; # 820 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) throw () __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) throw () __attribute__ ((__nonnull__ (3))) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (__const char *__s, size_t __n) throw () ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) throw () ; extern int wctomb (char *__s, wchar_t __wchar) throw () ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) throw (); extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) throw (); # 897 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern int rpmatch (__const char *__response) throw () __attribute__ ((__nonnull__ (1))) ; # 908 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *__const *__restrict __tokens, char **__restrict __valuep) throw () __attribute__ ((__nonnull__ (1, 2, 3))) ; extern void setkey (__const char *__key) throw () __attribute__ ((__nonnull__ (1))); extern int posix_openpt (int __oflag) ; extern int grantpt (int __fd) throw (); extern int unlockpt (int __fd) throw (); extern char *ptsname (int __fd) throw () ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))); extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) throw () __attribute__ ((__nonnull__ (1))); # 976 "/usr/include/gentoo-multilib/amd64/stdlib.h" 3 4 } # 9 "/usr/include/stdlib.h" 2 3 4 # 52 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h" 2 # 1 "/usr/include/string.h" 1 3 4 # 53 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; struct QVectorData { QBasicAtomic ref; int alloc; int size; uint sharable : 1; uint capacity : 1; static QVectorData shared_null; static QVectorData *malloc(int sizeofTypedData, int size, int sizeofT, QVectorData *init); static int grow(int sizeofTypedData, int size, int sizeofT, bool excessive); }; template struct QVectorTypedData { QBasicAtomic ref; int alloc; int size; uint sharable : 1; uint capacity : 1; T array[1]; }; template class QVector { typedef QVectorTypedData Data; union { QVectorData *p; QVectorTypedData *d; }; public: inline QVector() : p(&QVectorData::shared_null) { d->ref.ref(); } explicit QVector(int size); QVector(int size, const T &t); inline QVector(const QVector &v) : d(v.d) { d->ref.ref(); if (!d->sharable) detach_helper(); } inline ~QVector() { if (!d) return; if (!d->ref.deref()) free(d); } QVector &operator=(const QVector &v); bool operator==(const QVector &v) const; inline bool operator!=(const QVector &v) const { return !(*this == v); } inline int size() const { return d->size; } inline bool isEmpty() const { return d->size == 0; } void resize(int size); inline int capacity() const { return d->alloc; } void reserve(int size); inline void squeeze() { realloc(d->size, d->size); d->capacity = 0; } inline void detach() { if (d->ref != 1) detach_helper(); } inline bool isDetached() const { return d->ref == 1; } inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } inline T *data() { detach(); return d->array; } inline const T *data() const { return d->array; } inline const T *constData() const { return d->array; } void clear(); const T &at(int i) const; T &operator[](int i); const T &operator[](int i) const; void append(const T &t); void prepend(const T &t); void insert(int i, const T &t); void insert(int i, int n, const T &t); void replace(int i, const T &t); void remove(int i); void remove(int i, int n); QVector &fill(const T &t, int size = -1); int indexOf(const T &t, int from = 0) const; int lastIndexOf(const T &t, int from = -1) const; bool contains(const T &t) const; int count(const T &t) const; # 216 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h" typedef T* iterator; typedef const T* const_iterator; inline iterator begin() { detach(); return d->array; } inline const_iterator begin() const { return d->array; } inline const_iterator constBegin() const { return d->array; } inline iterator end() { detach(); return d->array + d->size; } inline const_iterator end() const { return d->array + d->size; } inline const_iterator constEnd() const { return d->array + d->size; } iterator insert(iterator before, int n, const T &x); inline iterator insert(iterator before, const T &x) { return insert(before, 1, x); } iterator erase(iterator begin, iterator end); inline iterator erase(iterator pos) { return erase(pos, pos+1); } inline int count() const { return d->size; } inline T& first() { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",232);} while (0); return *begin(); } inline const T &first() const { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",233);} while (0); return *begin(); } inline T& last() { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",234);} while (0); return *(end()-1); } inline const T &last() const { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",235);} while (0); return *(end()-1); } QVector mid(int pos, int length = -1) const; T value(int i) const; T value(int i, const T &defaultValue) const; typedef T value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef int difference_type; typedef iterator Iterator; typedef const_iterator ConstIterator; typedef int size_type; inline void push_back(const T &t) { append(t); } inline void push_front(const T &t) { prepend(t); } void pop_back() { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",257);} while (0); erase(end()-1); } void pop_front() { do {if(!(!isEmpty()))qt_assert("!isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",258);} while (0); erase(begin()); } inline bool empty() const { return d->size == 0; } inline T& front() { return first(); } inline const_reference front() const { return first(); } inline reference back() { return last(); } inline const_reference back() const { return last(); } QVector &operator+=(const QVector &l); inline QVector operator+(const QVector &l) const { QVector n = *this; n += l; return n; } inline QVector &operator+=(const T &t) { append(t); return *this; } inline QVector &operator<< (const T &t) { append(t); return *this; } inline QVector &operator<<(const QVector &l) { *this += l; return *this; } QList toList() const; static QVector fromList(const QList &list); # 288 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h" private: void detach_helper(); QVectorData *malloc(int alloc); void realloc(int size, int alloc); void free(Data *d); }; template void QVector::detach_helper() { realloc(d->size, d->alloc); } template void QVector::reserve(int asize) { if (asize > d->alloc) realloc(d->size, asize); d->capacity = 1; } template void QVector::resize(int asize) { realloc(asize, (asize > d->alloc || (!d->capacity && asize < d->size && asize < (d->alloc >> 1))) ? QVectorData::grow(sizeof(Data), asize, sizeof(T), QTypeInfo::isStatic) : d->alloc); } template inline void QVector::clear() { *this = QVector(); } template inline const T &QVector::at(int i) const { do {if(!(i >= 0 && i < d->size))qt_assert_x("QVector::at", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",311);} while (0); return d->array[i]; } template inline const T &QVector::operator[](int i) const { do {if(!(i >= 0 && i < d->size))qt_assert_x("QVector::operator[]", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",315);} while (0); return d->array[i]; } template inline T &QVector::operator[](int i) { do {if(!(i >= 0 && i < d->size))qt_assert_x("QVector::operator[]", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",319);} while (0); return data()[i]; } template inline void QVector::insert(int i, const T &t) { do {if(!(i >= 0 && i <= d->size))qt_assert_x("QVector::insert", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",323);} while (0); insert(begin() + i, 1, t); } template inline void QVector::insert(int i, int n, const T &t) { do {if(!(i >= 0 && i <= d->size))qt_assert_x("QVector::insert", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",327);} while (0); insert(begin() + i, n, t); } template inline void QVector::remove(int i, int n) { do {if(!(i >= 0 && n >= 0 && i + n <= d->size))qt_assert_x("QVector::remove", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",331);} while (0); erase(begin() + i, begin() + i + n); } template inline void QVector::remove(int i) { do {if(!(i >= 0 && i < d->size))qt_assert_x("QVector::remove", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",335);} while (0); erase(begin() + i, begin() + i + 1); } template inline void QVector::prepend(const T &t) { insert(begin(), 1, t); } template inline void QVector::replace(int i, const T &t) { do {if(!(i >= 0 && i < d->size))qt_assert_x("QVector::replace", "index out of range","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",344);} while (0); const T copy(t); data()[i] = copy; } template QVector &QVector::operator=(const QVector &v) { typename QVector::Data *x = v.d; x->ref.ref(); x = qAtomicSetPtr(&d, x); if (!x->ref.deref()) free(x); if (!d->sharable) detach_helper(); return *this; } template inline QVectorData *QVector::malloc(int aalloc) { return static_cast(qMalloc(sizeof(Data) + (aalloc - 1) * sizeof(T))); } template QVector::QVector(int asize) { p = malloc(asize); d->ref.init(1); d->alloc = d->size = asize; d->sharable = true; d->capacity = false; if (QTypeInfo::isComplex) { T* b = d->array; T* i = d->array + d->size; while (i != b) new (--i) T; } else { qMemSet(d->array, 0, asize * sizeof(T)); } } template QVector::QVector(int asize, const T &t) { p = malloc(asize); d->ref.init(1); d->alloc = d->size = asize; d->sharable = true; d->capacity = false; T* i = d->array + d->size; while (i != d->array) new (--i) T(t); } template void QVector::free(Data *x) { if (QTypeInfo::isComplex) { T* b = x->array; T* i = b + x->size; while (i-- != b) i->~T(); } qFree(x); } template void QVector::realloc(int asize, int aalloc) { T *j, *i, *b; union { QVectorData *p; Data *d; } x; x.d = d; if (QTypeInfo::isComplex && aalloc == d->alloc && d->ref == 1) { i = d->array + d->size; j = d->array + asize; if (i > j) { while (i-- != j) i->~T(); } else { while (j-- != i) new (j) T; } d->size = asize; return; } if (aalloc != d->alloc || d->ref != 1) { if (QTypeInfo::isStatic) { x.p = malloc(aalloc); } else if (d->ref != 1) { x.p = QVectorData::malloc(sizeof(Data), aalloc, sizeof(T), p); } else { if (QTypeInfo::isComplex) { if (asize < d->size) { j = d->array + asize; i = d->array + d->size; while (i-- != j) i->~T(); i = d->array + asize; } } x.p = p = static_cast(qRealloc(p, sizeof(Data) + (aalloc - 1) * sizeof(T))); } x.d->ref.init(1); x.d->sharable = true; x.d->capacity = d->capacity; } if (QTypeInfo::isComplex) { if (asize < d->size) { j = d->array + asize; i = x.d->array + asize; } else { i = x.d->array + asize; j = x.d->array + d->size; while (i != j) new (--i) T; j = d->array + d->size; } if (i != j) { b = x.d->array; while (i != b) new (--i) T(*--j); } } else if (asize > d->size) { qMemSet(x.d->array + d->size, 0, (asize - d->size) * sizeof(T)); } x.d->size = asize; x.d->alloc = aalloc; if (d != x.d) { x.d = qAtomicSetPtr(&d, x.d); if (!x.d->ref.deref()) free(x.d); } } template T QVector::value(int i) const { if (i < 0 || i >= p->size) { return T(); } return d->array[i]; } template T QVector::value(int i, const T &defaultValue) const { return ((i < 0 || i >= p->size) ? defaultValue : d->array[i]); } template void QVector::append(const T &t) { if (d->ref != 1 || d->size + 1 > d->alloc) { const T copy(t); realloc(d->size, QVectorData::grow(sizeof(Data), d->size + 1, sizeof(T), QTypeInfo::isStatic)); if (QTypeInfo::isComplex) new (d->array + d->size) T(copy); else d->array[d->size] = copy; } else { if (QTypeInfo::isComplex) new (d->array + d->size) T(t); else d->array[d->size] = t; } ++d->size; } template typename QVector::iterator QVector::insert(iterator before, size_type n, const T &t) { int offset = before - d->array; if (n != 0) { const T copy(t); if (d->ref != 1 || d->size + n > d->alloc) realloc(d->size, QVectorData::grow(sizeof(Data), d->size + n, sizeof(T), QTypeInfo::isStatic)); if (QTypeInfo::isStatic) { T *b = d->array + d->size; T *i = d->array + d->size + n; while (i != b) new (--i) T; i = d->array + d->size; T *j = i + n; b = d->array + offset; while (i != b) *--j = *--i; i = b+n; while (i != b) *--i = copy; } else { T *b = d->array + offset; T *i = b + n; memmove(i, b, (d->size - offset) * sizeof(T)); while (i != b) new (--i) T(copy); } d->size += n; } return d->array + offset; } template typename QVector::iterator QVector::erase(iterator abegin, iterator aend) { int f = abegin - d->array; int l = aend - d->array; int n = l - f; detach(); if (QTypeInfo::isComplex) { qCopy(d->array+l, d->array+d->size, d->array+f); T *i = d->array+d->size; T* b = d->array+d->size-n; while (i != b) { --i; i->~T(); } } else { memmove(d->array + f, d->array + l, (d->size-l)*sizeof(T)); } d->size -= n; return d->array + f; } template bool QVector::operator==(const QVector &v) const { if (d->size != v.d->size) return false; if (d == v.d) return true; T* b = d->array; T* i = b + d->size; T* j = v.d->array + d->size; while (i != b) if (!(*--i == *--j)) return false; return true; } template QVector &QVector::fill(const T &from, int asize) { const T copy(from); resize(asize < 0 ? d->size : asize); if (d->size) { T *i = d->array + d->size; T *b = d->array; while (i != b) *--i = copy; } return *this; } template QVector &QVector::operator+=(const QVector &l) { int newSize = d->size + l.d->size; realloc(d->size, newSize); T *w = d->array + newSize; T *i = l.d->array + l.d->size; T *b = l.d->array; while (i != b) { if (QTypeInfo::isComplex) new (--w) T(*--i); else *--w = *--i; } d->size = newSize; return *this; } template int QVector::indexOf(const T &t, int from) const { if (from < 0) from = qMax(from + d->size, 0); if (from < d->size) { T* n = d->array + from - 1; T* e = d->array + d->size; while (++n != e) if (*n == t) return n - d->array; } return -1; } template int QVector::lastIndexOf(const T &t, int from) const { if (from < 0) from += d->size; else if (from >= d->size) from = d->size-1; if (from >= 0) { T* b = d->array; T* n = d->array + from + 1; while (n != b) { if (*--n == t) return n - b; } } return -1; } template bool QVector::contains(const T &t) const { T* b = d->array; T* i = d->array + d->size; while (i != b) if (*--i == t) return true; return false; } template int QVector::count(const T &t) const { int c = 0; T* b = d->array; T* i = d->array + d->size; while (i != b) if (*--i == t) ++c; return c; } template QVector QVector::mid(int pos, int length) const { if (length < 0) length = size() - pos; if (pos == 0 && length == size()) return *this; QVector copy; if (pos + length > size()) length = size() - pos; for (int i = pos; i < pos + length; ++i) copy += at(i); return copy; } template QList QVector::toList() const { QList result; for (int i = 0; i < size(); ++i) result.append(at(i)); return result; } template QVector QList::toVector() const { QVector result(size()); for (int i = 0; i < size(); ++i) result[i] = at(i); return result; } template QVector QVector::fromList(const QList &list) { return list.toVector(); } template QList QList::fromVector(const QVector &vector) { return vector.toList(); } template class QVectorIterator { typedef typename QVector::const_iterator const_iterator; QVector c; const_iterator i; public: inline QVectorIterator(const QVector &container) : c(container), i(c.constBegin()) {} inline QVectorIterator &operator=(const QVector &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; template class QMutableVectorIterator { typedef typename QVector::iterator iterator; typedef typename QVector::const_iterator const_iterator; QVector *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableVectorIterator(QVector &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableVectorIterator() { c->setSharable(true); } inline QMutableVectorIterator &operator=(QVector &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = i; } inline bool hasNext() const { return c->constEnd() != const_iterator(i); } inline T &next() { n = i++; return *n; } inline T &peekNext() const { return *i; } inline bool hasPrevious() const { return c->constBegin() != const_iterator(i); } inline T &previous() { n = --i; return *n; } inline T &peekPrevious() const { iterator p = i; return *--p; } inline void remove() { if (c->constEnd() != const_iterator(n)) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) const { if (c->constEnd() != const_iterator(n)) *n = t; } inline T &value() { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",731);} while (0); return *n; } inline const T &value() const { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h",731);} while (0); return *n; } inline void insert(const T &t) { n = i = c->insert(i, t); ++i; } inline bool findNext(const T &t) { while (c->constEnd() != const_iterator(n = i)) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (c->constBegin() != const_iterator(i)) if (*(n = --i) == t) return true; n = c->end(); return false; } }; # 754 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qvector.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qvector.h" 2 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstack.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; template class QStack : public QVector { public: inline QStack() {} inline ~QStack() {} inline void push(const T &t) { QVector::append(t); } T pop(); T &top(); const T &top() const; }; template inline T QStack::pop() { do {if(!(!this->isEmpty()))qt_assert("!this->isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstack.h",62);} while (0); T t = this->data()[this->size() -1]; this->resize(this->size()-1); return t; } template inline T &QStack::top() { do {if(!(!this->isEmpty()))qt_assert("!this->isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstack.h",67);} while (0); this->detach(); return this->data()[this->size()-1]; } template inline const T &QStack::top() const { do {if(!(!this->isEmpty()))qt_assert("!this->isEmpty()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qstack.h",71);} while (0); return this->data()[this->size()-1]; } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstack.h" 2 # 46 "./project.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qmap.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qatomic.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qiterator.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qlist.h" 1 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h" 2 # 53 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h" typedef QtValidLicenseForCoreModule QtCoreModule; struct QMapData { struct Node { Node *backward; Node *forward[1]; }; enum { LastLevel = 11, Sparseness = 3 }; QMapData *backward; QMapData *forward[QMapData::LastLevel + 1]; QBasicAtomic ref; int topLevel; int size; uint randomBits; uint insertInOrder : 1; uint sharable : 1; static QMapData *createData(); void continueFreeData(int offset); Node *node_create(Node *update[], int offset); void node_delete(Node *update[], int offset, Node *node); static QMapData shared_null; }; # 97 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h" template inline bool qMapLessThanKey(const Key &key1, const Key &key2) { return key1 < key2; } template inline bool qMapLessThanKey(Ptr *key1, Ptr *key2) { do {if(!(sizeof(ulong) == sizeof(Ptr *)))qt_assert("sizeof(ulong) == sizeof(Ptr *)","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h",105);} while (0); return reinterpret_cast(key1) < reinterpret_cast(key2); } template inline bool qMapLessThanKey(const Ptr *key1, const Ptr *key2) { do {if(!(sizeof(ulong) == sizeof(const Ptr *)))qt_assert("sizeof(ulong) == sizeof(const Ptr *)","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h",111);} while (0); return reinterpret_cast(key1) < reinterpret_cast(key2); } template class QMap { struct Node { Key key; T value; QMapData::Node *backward; QMapData::Node *forward[1]; }; union { QMapData *d; QMapData::Node *e; }; struct PayloadNode { Key key; T value; QMapData::Node *backward; }; static inline int payload() { return sizeof(PayloadNode) - sizeof(QMapData::Node *); } static inline Node *concrete(QMapData::Node *node) { return reinterpret_cast(reinterpret_cast(node) - payload()); } public: inline QMap() : d(&QMapData::shared_null) { d->ref.ref(); } inline QMap(const QMap &other) : d(other.d) { d->ref.ref(); if (!d->sharable) detach(); } inline ~QMap() { if (!d) return; if (!d->ref.deref()) freeData(d); } QMap &operator=(const QMap &other); bool operator==(const QMap &other) const; inline bool operator!=(const QMap &other) const { return !(*this == other); } inline int size() const { return d->size; } inline bool isEmpty() const { return d->size == 0; } inline void detach() { if (d->ref != 1) detach_helper(); } inline bool isDetached() const { return d->ref == 1; } inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } inline void setInsertInOrder(bool ordered) { d->insertInOrder = ordered; } void clear(); int remove(const Key &key); T take(const Key &key); bool contains(const Key &key) const; const Key key(const T &value) const; const Key key(const T &value, const Key &defaultKey) const; const T value(const Key &key) const; const T value(const Key &key, const T &defaultValue) const; T &operator[](const Key &key); const T operator[](const Key &key) const; QList uniqueKeys() const; QList keys() const; QList keys(const T &value) const; QList values() const; QList values(const Key &key) const; int count(const Key &key) const; class const_iterator; class iterator { QMapData::Node *i; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef T *pointer; typedef T &reference; inline operator QMapData::Node *() const { return i; } inline iterator() : i(0) { } inline iterator(QMapData::Node *node) : i(node) { } inline const Key &key() const { return concrete(i)->key; } inline T &value() const { return concrete(i)->value; } inline T &operator*() const { return concrete(i)->value; } inline T *operator->() const { return &concrete(i)->value; } inline bool operator==(const iterator &o) const { return i == o.i; } inline bool operator!=(const iterator &o) const { return i != o.i; } inline iterator &operator++() { i = i->forward[0]; return *this; } inline iterator operator++(int) { iterator r = *this; i = i->forward[0]; return r; } inline iterator &operator--() { i = i->backward; return *this; } inline iterator operator--(int) { iterator r = *this; i = i->backward; return r; } inline iterator operator+(int j) const { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } inline iterator operator-(int j) const { return operator+(-j); } inline iterator &operator+=(int j) { return *this = *this + j; } inline iterator &operator-=(int j) { return *this = *this - j; } public: inline bool operator==(const const_iterator &o) const { return i == reinterpret_cast(o).i; } inline bool operator!=(const const_iterator &o) const { return i != reinterpret_cast(o).i; } private: inline operator bool() const { return false; } }; friend class iterator; class const_iterator { QMapData::Node *i; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef const T *pointer; typedef const T &reference; inline operator QMapData::Node *() const { return i; } inline const_iterator() : i(0) { } inline const_iterator(QMapData::Node *node) : i(node) { } inline const_iterator(const iterator &o) { i = reinterpret_cast(o).i; } inline const Key &key() const { return concrete(i)->key; } inline const T &value() const { return concrete(i)->value; } inline const T &operator*() const { return concrete(i)->value; } inline const T *operator->() const { return &concrete(i)->value; } inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } inline const_iterator &operator++() { i = i->forward[0]; return *this; } inline const_iterator operator++(int) { const_iterator r = *this; i = i->forward[0]; return r; } inline const_iterator &operator--() { i = i->backward; return *this; } inline const_iterator operator--(int) { const_iterator r = *this; i = i->backward; return r; } inline const_iterator operator+(int j) const { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } inline const_iterator operator-(int j) const { return operator+(-j); } inline const_iterator &operator+=(int j) { return *this = *this + j; } inline const_iterator &operator-=(int j) { return *this = *this - j; } # 318 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h" private: inline operator bool() const { return false; } }; friend class const_iterator; inline iterator begin() { detach(); return iterator(e->forward[0]); } inline const_iterator begin() const { return const_iterator(e->forward[0]); } inline const_iterator constBegin() const { return const_iterator(e->forward[0]); } inline iterator end() { detach(); return iterator(e); } inline const_iterator end() const { return const_iterator(e); } inline const_iterator constEnd() const { return const_iterator(e); } iterator erase(iterator it); typedef iterator Iterator; typedef const_iterator ConstIterator; inline int count() const { return d->size; } iterator find(const Key &key); const_iterator find(const Key &key) const; const_iterator constFind(const Key &key) const; iterator lowerBound(const Key &key); const_iterator lowerBound(const Key &key) const; iterator upperBound(const Key &key); const_iterator upperBound(const Key &key) const; iterator insert(const Key &key, const T &value); iterator insertMulti(const Key &key, const T &value); QMap &unite(const QMap &other); typedef Key key_type; typedef T mapped_type; typedef ptrdiff_t difference_type; typedef int size_type; inline bool empty() const { return isEmpty(); } private: void detach_helper(); void freeData(QMapData *d); QMapData::Node *findNode(const Key &key) const; QMapData::Node *mutableFindNode(QMapData::Node *update[], const Key &key) const; QMapData::Node *node_create(QMapData *d, QMapData::Node *update[], const Key &key, const T &value); }; template inline QMap &QMap::operator=(const QMap &other) { if (d != other.d) { QMapData *x = other.d; x->ref.ref(); x = qAtomicSetPtr(&d, x); if (!x->ref.deref()) freeData(x); if (!d->sharable) detach_helper(); } return *this; } template inline void QMap::clear() { *this = QMap(); } template inline typename QMapData::Node * QMap::node_create(QMapData *adt, QMapData::Node *aupdate[], const Key &akey, const T &avalue) { QMapData::Node *abstractNode = adt->node_create(aupdate, payload()); Node *concreteNode = concrete(abstractNode); new (&concreteNode->key) Key(akey); new (&concreteNode->value) T(avalue); return abstractNode; } template inline QMapData::Node *QMap::findNode(const Key &akey) const { QMapData::Node *cur = e; QMapData::Node *next = e; for (int i = d->topLevel; i >= 0; i--) { while ((next = cur->forward[i]) != e && qMapLessThanKey(concrete(next)->key, akey)) cur = next; } if (next != e && !qMapLessThanKey(akey, concrete(next)->key)) { return next; } else { return e; } } template inline const T QMap::value(const Key &akey) const { QMapData::Node *node; if (d->size == 0 || (node = findNode(akey)) == e) { return T(); } else { return concrete(node)->value; } } template inline const T QMap::value(const Key &akey, const T &adefaultValue) const { QMapData::Node *node; if (d->size == 0 || (node = findNode(akey)) == e) { return adefaultValue; } else { return concrete(node)->value; } } template inline const T QMap::operator[](const Key &akey) const { return value(akey); } template inline T &QMap::operator[](const Key &akey) { detach(); QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *node = mutableFindNode(update, akey); if (node == e) node = node_create(d, update, akey, T()); return concrete(node)->value; } template inline int QMap::count(const Key &akey) const { int cnt = 0; QMapData::Node *node = findNode(akey); if (node != e) { do { ++cnt; node = node->forward[0]; } while (node != e && !qMapLessThanKey(akey, concrete(node)->key)); } return cnt; } template inline bool QMap::contains(const Key &akey) const { return findNode(akey) != e; } template inline typename QMap::iterator QMap::insert(const Key &akey, const T &avalue) { detach(); QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *node = mutableFindNode(update, akey); if (node == e) { node = node_create(d, update, akey, avalue); } else { concrete(node)->value = avalue; } return iterator(node); } # 527 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h" template inline typename QMap::iterator QMap::insertMulti(const Key &akey, const T &avalue) { detach(); QMapData::Node *update[QMapData::LastLevel + 1]; mutableFindNode(update, akey); return iterator(node_create(d, update, akey, avalue)); } template inline typename QMap::const_iterator QMap::find(const Key &akey) const { return const_iterator(findNode(akey)); } template inline typename QMap::const_iterator QMap::constFind(const Key &akey) const { return const_iterator(findNode(akey)); } template inline typename QMap::iterator QMap::find(const Key &akey) { detach(); return iterator(findNode(akey)); } template inline QMap &QMap::unite(const QMap &other) { QMap copy(other); const_iterator it = copy.constEnd(); const const_iterator b = copy.constBegin(); while (it != b) { --it; insertMulti(it.key(), it.value()); } return *this; } template void QMap::freeData(QMapData *x) { if (QTypeInfo::isComplex || QTypeInfo::isComplex) { QMapData::Node *y = reinterpret_cast(x); QMapData::Node *cur = y; QMapData::Node *next = cur->forward[0]; while (next != y) { cur = next; next = cur->forward[0]; Node *concreteNode = concrete(cur); concreteNode->key.~Key(); concreteNode->value.~T(); } } x->continueFreeData(payload()); } template int QMap::remove(const Key &akey) { detach(); QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *cur = e; QMapData::Node *next = e; int oldSize = d->size; for (int i = d->topLevel; i >= 0; i--) { while ((next = cur->forward[i]) != e && qMapLessThanKey(concrete(next)->key, akey)) cur = next; update[i] = cur; } if (next != e && !qMapLessThanKey(akey, concrete(next)->key)) { bool deleteNext = true; do { cur = next; next = cur->forward[0]; deleteNext = (next != e && !qMapLessThanKey(concrete(cur)->key, concrete(next)->key)); concrete(cur)->key.~Key(); concrete(cur)->value.~T(); d->node_delete(update, payload(), cur); } while (deleteNext); } return oldSize - d->size; } template T QMap::take(const Key &akey) { detach(); QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *cur = e; QMapData::Node *next = e; for (int i = d->topLevel; i >= 0; i--) { while ((next = cur->forward[i]) != e && qMapLessThanKey(concrete(next)->key, akey)) cur = next; update[i] = cur; } if (next != e && !qMapLessThanKey(akey, concrete(next)->key)) { T t = concrete(next)->value; concrete(next)->key.~Key(); concrete(next)->value.~T(); d->node_delete(update, payload(), next); return t; } return T(); } template typename QMap::iterator QMap::erase(iterator it) { QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *cur = e; QMapData::Node *next = e; if (it == iterator(e)) return it; for (int i = d->topLevel; i >= 0; i--) { while ((next = cur->forward[i]) != e && qMapLessThanKey(concrete(next)->key, it.key())) cur = next; update[i] = cur; } while (next != e) { cur = next; next = cur->forward[0]; if (cur == it) { concrete(cur)->key.~Key(); concrete(cur)->value.~T(); d->node_delete(update, payload(), cur); return iterator(next); } for (int i = 0; i <= d->topLevel; ++i) { if (update[i]->forward[i] != cur) break; update[i] = cur; } } return end(); } template void QMap::detach_helper() { union { QMapData *d; QMapData::Node *e; } x; x.d = QMapData::createData(); if (d->size) { x.d->insertInOrder = true; QMapData::Node *update[QMapData::LastLevel + 1]; QMapData::Node *cur = e->forward[0]; update[0] = x.e; while (cur != e) { Node *concreteNode = concrete(cur); node_create(x.d, update, concreteNode->key, concreteNode->value); cur = cur->forward[0]; } x.d->insertInOrder = false; } x.d = qAtomicSetPtr(&d, x.d); if (!x.d->ref.deref()) freeData(x.d); } template QMapData::Node *QMap::mutableFindNode(QMapData::Node *aupdate[], const Key &akey) const { QMapData::Node *cur = e; QMapData::Node *next = e; for (int i = d->topLevel; i >= 0; i--) { while ((next = cur->forward[i]) != e && qMapLessThanKey(concrete(next)->key, akey)) cur = next; aupdate[i] = cur; } if (next != e && !qMapLessThanKey(akey, concrete(next)->key)) { return next; } else { return e; } } template QList QMap::uniqueKeys() const { QList res; const_iterator i = begin(); if (i != end()) { for (;;) { const Key &aKey = i.key(); res.append(aKey); do { if (++i == end()) goto break_out_of_outer_loop; } while (!(aKey < i.key())); } } break_out_of_outer_loop: return res; } template QList QMap::keys() const { QList res; const_iterator i = begin(); while (i != end()) { res.append(i.key()); ++i; } return res; } template QList QMap::keys(const T &avalue) const { QList res; const_iterator i = begin(); while (i != end()) { if (i.value() == avalue) res.append(i.key()); ++i; } return res; } template const Key QMap::key(const T &avalue) const { return key(avalue, Key()); } template const Key QMap::key(const T &avalue, const Key &defaultKey) const { const_iterator i = begin(); while (i != end()) { if (i.value() == avalue) return i.key(); ++i; } return defaultKey; } template QList QMap::values() const { QList res; const_iterator i = begin(); while (i != end()) { res.append(i.value()); ++i; } return res; } template QList QMap::values(const Key &akey) const { QList res; QMapData::Node *node = findNode(akey); if (node != e) { do { res.append(concrete(node)->value); node = node->forward[0]; } while (node != e && !qMapLessThanKey(akey, concrete(node)->key)); } return res; } template inline typename QMap::const_iterator QMap::lowerBound(const Key &akey) const { QMapData::Node *update[QMapData::LastLevel + 1]; mutableFindNode(update, akey); return const_iterator(update[0]->forward[0]); } template inline typename QMap::iterator QMap::lowerBound(const Key &akey) { detach(); return static_cast(const_cast(this)->lowerBound(akey)); } template inline typename QMap::const_iterator QMap::upperBound(const Key &akey) const { QMapData::Node *update[QMapData::LastLevel + 1]; mutableFindNode(update, akey); QMapData::Node *node = update[0]->forward[0]; while (node != e && !qMapLessThanKey(akey, concrete(node)->key)) node = node->forward[0]; return const_iterator(node); } template inline typename QMap::iterator QMap::upperBound(const Key &akey) { detach(); return static_cast(const_cast(this)->upperBound(akey)); } template bool QMap::operator==(const QMap &other) const { if (size() != other.size()) return false; if (d == other.d) return true; const_iterator it1 = begin(); const_iterator it2 = other.begin(); while (it1 != end()) { if (!(it1.value() == it2.value()) || qMapLessThanKey(it1.key(), it2.key()) || qMapLessThanKey(it2.key(), it1.key())) return false; ++it2; ++it1; } return true; } # 897 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h" template class QMultiMap : public QMap { public: QMultiMap() {} QMultiMap(const QMap &other) : QMap(other) {} inline typename QMap::iterator replace(const Key &key, const T &value) { return QMap::insert(key, value); } inline typename QMap::iterator insert(const Key &key, const T &value) { return QMap::insertMulti(key, value); } inline QMultiMap &operator+=(const QMultiMap &other) { unite(other); return *this; } inline QMultiMap operator+(const QMultiMap &other) const { QMultiMap result = *this; result += other; return result; } using QMap::contains; using QMap::remove; using QMap::count; using QMap::find; using QMap::constFind; # 937 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h" bool contains(const Key &key, const T &value) const; int remove(const Key &key, const T &value); int count(const Key &key, const T &value) const; typename QMap::iterator find(const Key &key, const T &value) { typename QMap::iterator i(find(key)); typename QMap::iterator end(this->end()); while (i != end && !qMapLessThanKey(key, i.key())) { if (i.value() == value) return i; ++i; } return end; } typename QMap::const_iterator find(const Key &key, const T &value) const { typename QMap::const_iterator i(constFind(key)); typename QMap::const_iterator end(QMap::constEnd()); while (i != end && !qMapLessThanKey(key, i.key())) { if (i.value() == value) return i; ++i; } return end; } typename QMap::const_iterator constFind(const Key &key, const T &value) const { return find(key, value); } private: T &operator[](const Key &key); const T operator[](const Key &key) const; }; template inline bool QMultiMap::contains(const Key &key, const T &value) const { return constFind(key, value) != QMap::constEnd(); } template inline int QMultiMap::remove(const Key &key, const T &value) { int n = 0; typename QMap::iterator i(find(key)); typename QMap::const_iterator end(QMap::constEnd()); while (i != end && !qMapLessThanKey(key, i.key())) { if (i.value() == value) { i = erase(i); ++n; } else { ++i; } } return n; } template inline int QMultiMap::count(const Key &key, const T &value) const { int n = 0; typename QMap::const_iterator i(constFind(key)); typename QMap::const_iterator end(QMap::constEnd()); while (i != end && !qMapLessThanKey(key, i.key())) { if (i.value() == value) ++n; ++i; } return n; } template class QMapIterator { typedef typename QMap::const_iterator const_iterator; typedef const_iterator Item; QMap c; const_iterator i, n; inline bool item_exists() const { return n != c.constEnd(); } public: inline QMapIterator(const QMap &container) : c(container), i(c.constBegin()), n(c.constEnd()) {} inline QMapIterator &operator=(const QMap &container) { c = container; i = c.constBegin(); n = c.constEnd(); return *this; } inline void toFront() { i = c.constBegin(); n = c.constEnd(); } inline void toBack() { i = c.constEnd(); n = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { const_iterator p = i; return --p; } inline const T &value() const { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h",1007);} while (0); return *n; } inline const Key &key() const { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h",1007);} while (0); return n.key(); } inline bool findNext(const T &t) { while ((n = i) != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(n = --i) == t) return true; n = c.constEnd(); return false; } }; template class QMutableMapIterator { typedef typename QMap::iterator iterator; typedef typename QMap::const_iterator const_iterator; typedef iterator Item; QMap *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableMapIterator(QMap &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableMapIterator() { c->setSharable(true); } inline QMutableMapIterator &operator=(QMap &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = c->end(); } inline bool hasNext() const { return const_iterator(i) != c->constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return const_iterator(i) != c->constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { iterator p = i; return --p; } inline void remove() { if (const_iterator(n) != c->constEnd()) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) { if (const_iterator(n) != c->constEnd()) *n = t; } inline T &value() { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h",1008);} while (0); return *n; } inline const T &value() const { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h",1008);} while (0); return *n; } inline const Key &key() const { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qmap.h",1008);} while (0); return n.key(); } inline bool findNext(const T &t) { while (const_iterator(n = i) != c->constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (const_iterator(i) != c->constBegin()) if (*(n = --i) == t) return true; n = c->end(); return false; } }; # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qmap.h" 2 # 47 "./project.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qmetatype.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qmetatype.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qmetatype.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qglobal.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qmetatype.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qatomic.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qmetatype.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qdatastream.h" 1 # 47 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qmetatype.h" 2 # 55 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qmetatype.h" typedef 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, QTransform = 81, LastGuiType = 81 , 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 }; typedef void (*Destructor)(void *); typedef void *(*Constructor)(const void *); typedef void (*SaveOperator)(QDataStream &, const void *); typedef void (*LoadOperator)(QDataStream &, void *); static void registerStreamOperators(const char *typeName, SaveOperator saveOp, LoadOperator loadOp); static int registerType(const char *typeName, Destructor destructor, Constructor constructor); static int type(const char *typeName); static const char *typeName(int type); static bool isRegistered(int type); static void *construct(int type, const void *copy = 0); static void destroy(int type, void *data); static bool save(QDataStream &stream, int type, const void *data); static bool load(QDataStream &stream, int type, void *data); }; template void qMetaTypeDeleteHelper(T *t) { delete t; } template void *qMetaTypeConstructHelper(const T *t) { if (!t) return new T; return new T(*static_cast(t)); } template void qMetaTypeSaveHelper(QDataStream &stream, const T *t) { stream << *t; } template void qMetaTypeLoadHelper(QDataStream &stream, T *t) { stream >> *t; } template int qRegisterMetaType(const char *typeName , T * = 0 ) { typedef void*(*ConstructPtr)(const T*); ConstructPtr cptr = qMetaTypeConstructHelper; typedef void(*DeletePtr)(T*); DeletePtr dptr = qMetaTypeDeleteHelper; return QMetaType::registerType(typeName, reinterpret_cast(dptr), reinterpret_cast(cptr)); } template void qRegisterMetaTypeStreamOperators(const char *typeName , T * = 0 ) { typedef void(*SavePtr)(QDataStream &, const T *); typedef void(*LoadPtr)(QDataStream &, T *); SavePtr sptr = qMetaTypeSaveHelper; LoadPtr lptr = qMetaTypeLoadHelper; qRegisterMetaType(typeName); QMetaType::registerStreamOperators(typeName, reinterpret_cast(sptr), reinterpret_cast(lptr)); } template struct QMetaTypeId { enum { Defined = 0 }; }; template struct QMetaTypeId2 { enum { Defined = QMetaTypeId::Defined }; static inline int qt_metatype_id() { return QMetaTypeId::qt_metatype_id(); } }; template inline int qMetaTypeId( T * = 0 ) { return QMetaTypeId2::qt_metatype_id(); } template inline int qRegisterMetaType( T * dummy = 0 ) { return qMetaTypeId(dummy); } # 231 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qmetatype.h" class QString; class QByteArray; class QChar; class QStringList; class QBitArray; class QDate; class QTime; class QDateTime; class QUrl; class QLocale; class QRect; class QRectF; class QSize; class QSizeF; class QLine; class QLineF; class QPoint; class QPointF; class QRegExp; class QWidget; class QObject; class QFont; class QPixmap; class QBrush; class QColor; class QPalette; class QIcon; class QImage; class QPolygon; class QRegion; class QBitmap; class QCursor; class QSizePolicy; class QKeySequence; class QPen; class QTextLength; class QTextFormat; class QMatrix; class QTransform; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QString }; static inline int qt_metatype_id() { return QMetaType::QString; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::Int }; static inline int qt_metatype_id() { return QMetaType::Int; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::UInt }; static inline int qt_metatype_id() { return QMetaType::UInt; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::Bool }; static inline int qt_metatype_id() { return QMetaType::Bool; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::Double }; static inline int qt_metatype_id() { return QMetaType::Double; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QByteArray }; static inline int qt_metatype_id() { return QMetaType::QByteArray; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QChar }; static inline int qt_metatype_id() { return QMetaType::QChar; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::Long }; static inline int qt_metatype_id() { return QMetaType::Long; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::Short }; static inline int qt_metatype_id() { return QMetaType::Short; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::Char }; static inline int qt_metatype_id() { return QMetaType::Char; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::ULong }; static inline int qt_metatype_id() { return QMetaType::ULong; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::UShort }; static inline int qt_metatype_id() { return QMetaType::UShort; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::UChar }; static inline int qt_metatype_id() { return QMetaType::UChar; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::Float }; static inline int qt_metatype_id() { return QMetaType::Float; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QObjectStar }; static inline int qt_metatype_id() { return QMetaType::QObjectStar; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QWidgetStar }; static inline int qt_metatype_id() { return QMetaType::QWidgetStar; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::VoidStar }; static inline int qt_metatype_id() { return QMetaType::VoidStar; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::LongLong }; static inline int qt_metatype_id() { return QMetaType::LongLong; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::ULongLong }; static inline int qt_metatype_id() { return QMetaType::ULongLong; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QStringList }; static inline int qt_metatype_id() { return QMetaType::QStringList; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QBitArray }; static inline int qt_metatype_id() { return QMetaType::QBitArray; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QDate }; static inline int qt_metatype_id() { return QMetaType::QDate; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QTime }; static inline int qt_metatype_id() { return QMetaType::QTime; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QDateTime }; static inline int qt_metatype_id() { return QMetaType::QDateTime; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QUrl }; static inline int qt_metatype_id() { return QMetaType::QUrl; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QLocale }; static inline int qt_metatype_id() { return QMetaType::QLocale; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QRect }; static inline int qt_metatype_id() { return QMetaType::QRect; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QRectF }; static inline int qt_metatype_id() { return QMetaType::QRectF; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QSize }; static inline int qt_metatype_id() { return QMetaType::QSize; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QSizeF }; static inline int qt_metatype_id() { return QMetaType::QSizeF; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QLine }; static inline int qt_metatype_id() { return QMetaType::QLine; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QLineF }; static inline int qt_metatype_id() { return QMetaType::QLineF; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QPoint }; static inline int qt_metatype_id() { return QMetaType::QPoint; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QPointF }; static inline int qt_metatype_id() { return QMetaType::QPointF; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QRegExp }; static inline int qt_metatype_id() { return QMetaType::QRegExp; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QFont }; static inline int qt_metatype_id() { return QMetaType::QFont; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QPixmap }; static inline int qt_metatype_id() { return QMetaType::QPixmap; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QBrush }; static inline int qt_metatype_id() { return QMetaType::QBrush; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QColor }; static inline int qt_metatype_id() { return QMetaType::QColor; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QPalette }; static inline int qt_metatype_id() { return QMetaType::QPalette; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QIcon }; static inline int qt_metatype_id() { return QMetaType::QIcon; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QImage }; static inline int qt_metatype_id() { return QMetaType::QImage; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QPolygon }; static inline int qt_metatype_id() { return QMetaType::QPolygon; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QRegion }; static inline int qt_metatype_id() { return QMetaType::QRegion; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QBitmap }; static inline int qt_metatype_id() { return QMetaType::QBitmap; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QCursor }; static inline int qt_metatype_id() { return QMetaType::QCursor; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QSizePolicy }; static inline int qt_metatype_id() { return QMetaType::QSizePolicy; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QKeySequence }; static inline int qt_metatype_id() { return QMetaType::QKeySequence; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QPen }; static inline int qt_metatype_id() { return QMetaType::QPen; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QTextLength }; static inline int qt_metatype_id() { return QMetaType::QTextLength; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QTextFormat }; static inline int qt_metatype_id() { return QMetaType::QTextFormat; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QMatrix }; static inline int qt_metatype_id() { return QMetaType::QMatrix; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QTransform }; static inline int qt_metatype_id() { return QMetaType::QTransform; } }; # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qmetatype.h" 2 # 48 "./project.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/src/script/qscriptengine.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/src/script/qscriptengine.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qmetatype.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/src/script/qscriptengine.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qvariant.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qatomic.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qbytearray.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qlist.h" 1 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qmetatype.h" 1 # 46 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qmap.h" 1 # 47 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 48 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QBitArray; class QDataStream; class QDate; class QDateTime; class QLine; class QLineF; class QLocale; class QMatrix; class QTransform; class QStringList; class QTime; class QPoint; class QPointF; class QSize; class QSizeF; class QRect; class QRectF; class QRegExp; class QTextFormat; class QTextLength; class QUrl; class QVariant; class QVariantComparisonHelper; template inline QVariant qVariantFromValue(const T &); template inline void qVariantSetValue(QVariant &, const T &); template inline T qVariantValue(const QVariant &); template inline bool qVariantCanConvert(const QVariant &); 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 = RegExp, 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, Transform = 81, LastGuiType = Transform, UserType = 127, LastType = 0xffffffff }; inline QVariant(); ~QVariant(); QVariant(Type type); QVariant(int typeOrUserType, const void *copy); QVariant(const QVariant &other); QVariant(QDataStream &s); QVariant(int i); QVariant(uint ui); QVariant(qlonglong ll); QVariant(qulonglong ull); QVariant(bool b); QVariant(double d); QVariant(const char *str); QVariant(const QByteArray &bytearray); QVariant(const QBitArray &bitarray); QVariant(const QString &string); QVariant(const QLatin1String &string); QVariant(const QStringList &stringlist); QVariant(const QChar &qchar); QVariant(const QDate &date); QVariant(const QTime &time); QVariant(const QDateTime &datetime); QVariant(const QList &list); QVariant(const QMap &map); # 202 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" QVariant(const QUrl &url); QVariant(const QLocale &locale); QVariant(const QRegExp ®Exp); QVariant(Qt::GlobalColor color); QVariant& operator=(const QVariant &other); Type type() const; int userType() const; const char *typeName() const; bool canConvert(Type t) const; bool convert(Type t); # 225 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" inline bool isValid() const; bool isNull() const; void clear(); void detach(); inline bool isDetached() const; int toInt(bool *ok = 0) const; uint toUInt(bool *ok = 0) const; qlonglong toLongLong(bool *ok = 0) const; qulonglong toULongLong(bool *ok = 0) const; bool toBool() const; double toDouble(bool *ok = 0) const; QByteArray toByteArray() const; QBitArray toBitArray() const; QString toString() const; QStringList toStringList() const; QChar toChar() const; QDate toDate() const; QTime toTime() const; QDateTime toDateTime() const; QList toList() const; QMap toMap() const; # 260 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" QUrl toUrl() const; QLocale toLocale() const; QRegExp toRegExp() const; # 288 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" void load(QDataStream &ds); void save(QDataStream &ds) const; static const char *typeToName(Type type); static Type nameToType(const char *name); void *data(); const void *constData() const; inline const void *data() const { return constData(); } template inline void setValue(const T &value); template inline T value() const { return qVariantValue(*this); } template static inline QVariant fromValue(const T &value) { return qVariantFromValue(value); } template bool canConvert() const { return qVariantCanConvert(*this); } public: struct PrivateShared { inline PrivateShared() : ref(1) { } inline PrivateShared(void *v) : ptr(v), ref(1) { } void *ptr; QAtomic ref; }; struct Private { inline Private(): type(Invalid), is_shared(false), is_null(true) { data.ptr = 0; } inline Private(const Private &other) : data(other.data), type(other.type), is_shared(other.is_shared), is_null(other.is_null) {} union Data { char c; int i; uint u; bool b; double d; qlonglong ll; qulonglong ull; void *ptr; PrivateShared *shared; } data; uint type : 30; uint is_shared : 1; uint is_null : 1; }; public: typedef void (*f_construct)(Private *, const void *); typedef void (*f_clear)(Private *); typedef bool (*f_null)(const Private *); typedef void (*f_load)(Private *, QDataStream &); typedef void (*f_save)(const Private *, QDataStream &); typedef bool (*f_compare)(const Private *, const Private *); typedef bool (*f_convert)(const QVariant::Private *d, Type t, void *, bool *); typedef bool (*f_canConvert)(const QVariant::Private *d, Type t); typedef void (*f_debugStream)(QDebug, const QVariant &); struct Handler { f_construct construct; f_clear clear; f_null isNull; f_load load; f_save save; f_compare compare; f_convert convert; f_canConvert canConvert; f_debugStream debugStream; }; inline bool operator==(const QVariant &v) const { return cmp(v); } inline bool operator!=(const QVariant &v) const { return !cmp(v); } protected: friend inline bool qvariant_cast_helper(const QVariant &, QVariant::Type, void *); friend int qRegisterGuiVariant(); friend int qUnregisterGuiVariant(); friend inline bool operator==(const QVariant &, const QVariantComparisonHelper &); friend QDebug operator<<(QDebug, const QVariant &); Private d; static const Handler *handler; void create(int type, const void *copy); bool cmp(const QVariant &other) const; private: inline QVariant(bool, int) { do {if(!(false))qt_assert("false","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h",410);} while (0); } public: typedef Private DataPtr; inline DataPtr &data_ptr() { return d; } }; typedef QList QVariantList; typedef QMap QVariantMap; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QVariantList }; static inline int qt_metatype_id() { return QMetaType::QVariantList; } }; template<> struct QMetaTypeId2 { enum { Defined = 1, MetaType = QMetaType::QVariantMap }; static inline int qt_metatype_id() { return QMetaType::QVariantMap; } }; inline bool qvariant_cast_helper(const QVariant &v, QVariant::Type tp, void *ptr) { return QVariant::handler->convert(&v.d, tp, ptr, 0); } template inline QVariant qVariantFromValue(const T &t) { return QVariant(qMetaTypeId(reinterpret_cast(0)), &t); } template <> inline QVariant qVariantFromValue(const QVariant &t) { return t; } template inline void qVariantSetValue(QVariant &v, const T &t) { v = QVariant(qMetaTypeId(reinterpret_cast(0)), &t); } inline QVariant::QVariant() {} inline bool QVariant::isValid() const { return d.type != Invalid; } # 484 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" template inline void QVariant::setValue(const T &avalue) { qVariantSetValue(*this, avalue); } QDataStream& operator>> (QDataStream& s, QVariant& p); QDataStream& operator<< (QDataStream& s, const QVariant& p); QDataStream& operator>> (QDataStream& s, QVariant::Type& p); QDataStream& operator<< (QDataStream& s, const QVariant::Type p); inline bool QVariant::isDetached() const { return !d.is_shared || d.data.shared->ref == 1; } # 508 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" class QVariantComparisonHelper { public: inline QVariantComparisonHelper(const QVariant &var) : v(&var) {} private: friend inline bool operator==(const QVariant &, const QVariantComparisonHelper &); const QVariant *v; }; inline bool operator==(const QVariant &v1, const QVariantComparisonHelper &v2) { return v1.cmp(*v2.v); } inline bool operator!=(const QVariant &v1, const QVariantComparisonHelper &v2) { return !operator==(v1, v2); } # 556 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/kernel/qvariant.h" template T qvariant_cast(const QVariant &v) { const int vid = qMetaTypeId(static_cast(0)); if (vid == v.userType()) return *reinterpret_cast(v.constData()); if (vid < int(QMetaType::User)) { T t; if (qvariant_cast_helper(v, QVariant::Type(vid), &t)) return t; } return T(); } template inline T qVariantValue(const QVariant &variant) { return qvariant_cast(variant); } template inline bool qVariantCanConvert(const QVariant &variant) { return variant.canConvert(static_cast( qMetaTypeId(static_cast(0)))); } template <> inline bool qIsDetached(QVariant &t) { return t.isDetached(); } template inline void qSwap(T &, T &); template <> inline void qSwap(QVariant &value1, QVariant &value2) { const QVariant::DataPtr t = value1.data_ptr(); value1.data_ptr() = value2.data_ptr(); value2.data_ptr() = t; } template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QVariant)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QVariant"; } }; QDebug operator<<(QDebug, const QVariant &); QDebug operator<<(QDebug, const QVariant::Type); # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qvariant.h" 2 # 47 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/src/script/qscriptengine.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qobjectdefs.h" 1 # 52 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/src/script/qscriptengine.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/qscriptvalue.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/../../src/script/qscriptvalue.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/../../src/script/qscriptvalue.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/../../src/script/qscriptvalue.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qlist.h" 1 # 47 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/../../src/script/qscriptvalue.h" 2 typedef QtValidLicenseForScriptModule QtScriptModule; class QScriptValue; class QScriptEngine; class QVariant; class QObject; struct QMetaObject; class QDateTime; class QRegExp; typedef QList QScriptValueList; typedef double qsreal; class QScriptValuePrivate; class QScriptValue { public: enum ResolveFlag { ResolveLocal = 0x00, ResolvePrototype = 0x01, ResolveScope = 0x02, ResolveFull = ResolvePrototype | ResolveScope }; typedef QFlags ResolveFlags; enum PropertyFlag { ReadOnly = 0x00000001, Undeletable = 0x00000002, SkipInEnumeration = 0x00000004, PropertyGetter = 0x00000008, PropertySetter = 0x00000010, QObjectMember = 0x00000020, KeepExistingFlags = 0x00000800, UserRange = 0xff000000 }; typedef QFlags PropertyFlags; enum SpecialValue { NullValue, UndefinedValue }; public: QScriptValue(); ~QScriptValue(); QScriptValue(const QScriptValue &other); QScriptValue(QScriptEngine *engine, SpecialValue val); QScriptValue(QScriptEngine *engine, bool val); QScriptValue(QScriptEngine *engine, int val); QScriptValue(QScriptEngine *engine, uint val); QScriptValue(QScriptEngine *engine, qsreal val); QScriptValue(QScriptEngine *engine, const QString &val); QScriptValue(QScriptEngine *engine, const char *val); QScriptValue &operator=(const QScriptValue &other); QScriptEngine *engine() const; bool isValid() const; bool isBoolean() const; bool isNumber() const; bool isFunction() const; bool isNull() const; bool isString() const; bool isUndefined() const; bool isVariant() const; bool isQObject() const; bool isQMetaObject() const; bool isObject() const; bool isDate() const; bool isRegExp() const; bool isArray() const; bool isError() const; QString toString() const; qsreal toNumber() const; bool toBoolean() const; qsreal toInteger() const; qint32 toInt32() const; quint32 toUInt32() const; quint16 toUInt16() const; QVariant toVariant() const; QObject *toQObject() const; const QMetaObject *toQMetaObject() const; QScriptValue toObject() const; QDateTime toDateTime() const; QRegExp toRegExp() const; bool instanceOf(const QScriptValue &other) const; bool lessThan(const QScriptValue &other) const; bool equals(const QScriptValue &other) const; bool strictlyEquals(const QScriptValue &other) const; QScriptValue prototype() const; void setPrototype(const QScriptValue &prototype); QScriptValue scope() const; void setScope(const QScriptValue &scope); QScriptValue property(const QString &name, const ResolveFlags &mode = ResolvePrototype) const; void setProperty(const QString &name, const QScriptValue &value, const PropertyFlags &flags = KeepExistingFlags); QScriptValue property(quint32 arrayIndex, const ResolveFlags &mode = ResolvePrototype) const; void setProperty(quint32 arrayIndex, const QScriptValue &value, const PropertyFlags &flags = KeepExistingFlags); QScriptValue::PropertyFlags propertyFlags( const QString &name, const ResolveFlags &mode = ResolvePrototype) const; QScriptValue call(const QScriptValue &thisObject = QScriptValue(), const QScriptValueList &args = QScriptValueList()); QScriptValue call(const QScriptValue &thisObject, const QScriptValue &arguments); QScriptValue construct(const QScriptValueList &args = QScriptValueList()); QScriptValue construct(const QScriptValue &arguments); private: QScriptValuePrivate *d_ptr; inline QScriptValuePrivate* d_func() { return reinterpret_cast(d_ptr); } inline const QScriptValuePrivate* d_func() const { return reinterpret_cast(d_ptr); } friend class QScriptValuePrivate; }; inline QFlags operator|(QScriptValue::ResolveFlags::enum_type f1, QScriptValue::ResolveFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QScriptValue::ResolveFlags::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(QScriptValue::PropertyFlags::enum_type f1, QScriptValue::PropertyFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QScriptValue::PropertyFlags::enum_type f1, QFlags f2) { return f2 | f1; } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/qscriptvalue.h" 2 # 55 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/src/script/qscriptengine.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/qscriptcontext.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/../../src/script/qscriptcontext.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/../../src/script/qscriptcontext.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qobjectdefs.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/../../src/script/qscriptcontext.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/qscriptvalue.h" 1 # 47 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/../../src/script/qscriptcontext.h" 2 typedef QtValidLicenseForScriptModule QtScriptModule; class QScriptContextPrivate; class QScriptContext { public: enum ExecutionState { NormalState, ExceptionState }; enum Error { UnknownError, ReferenceError, SyntaxError, TypeError, RangeError, URIError }; ~QScriptContext(); QScriptContext *parentContext() const; QScriptEngine *engine() const; ExecutionState state() const; QScriptValue callee() const; int argumentCount() const; QScriptValue argument(int index) const; QScriptValue argumentsObject() const; QScriptValue returnValue() const; void setReturnValue(const QScriptValue &result); QScriptValue activationObject() const; void setActivationObject(const QScriptValue &activation); QScriptValue thisObject() const; void setThisObject(const QScriptValue &thisObject); bool isCalledAsConstructor() const; QScriptValue throwValue(const QScriptValue &value); QScriptValue throwError(Error error, const QString &text); QScriptValue throwError(const QString &text); QStringList backtrace() const; private: QScriptContext(); QScriptContextPrivate *d_ptr; inline QScriptContextPrivate* d_func() { return reinterpret_cast(d_ptr); } inline const QScriptContextPrivate* d_func() const { return reinterpret_cast(d_ptr); } friend class QScriptContextPrivate; QScriptContext(const QScriptContext &); QScriptContext &operator=(const QScriptContext &); }; # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtScript/qscriptcontext.h" 2 # 56 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/src/script/qscriptengine.h" 2 typedef QtValidLicenseForScriptModule QtScriptModule; class QDateTime; class QScriptEnginePrivate; # 80 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/src/script/qscriptengine.h" class QRegExp; template inline QScriptValue qScriptValueFromValue(QScriptEngine *, const T &); template inline T qScriptValueToValue(const QScriptValue &); class QScriptEngine { public: enum ValueOwnership { QtOwnership, ScriptOwnership, AutoOwnership }; enum QObjectWrapOption { ExcludeChildObjects = 0x0001, ExcludeSuperClassMethods = 0x0002, ExcludeSuperClassProperties = 0x0004, AutoCreateDynamicProperties = 0x0100 }; typedef QFlags QObjectWrapOptions; QScriptEngine(); virtual ~QScriptEngine(); QScriptValue globalObject() const; QScriptContext *currentContext() const; QScriptContext *pushContext(); void popContext(); bool canEvaluate(const QString &program) const; QScriptValue evaluate(const QString &program, const QString &fileName = QString(), int lineNumber = 1); bool hasUncaughtException() const; QScriptValue uncaughtException() const; int uncaughtExceptionLineNumber() const; QStringList uncaughtExceptionBacktrace() const; QScriptValue nullValue(); QScriptValue undefinedValue(); typedef QScriptValue (*FunctionSignature)(QScriptContext *, QScriptEngine *); QScriptValue newFunction(FunctionSignature signature, int length = 0); QScriptValue newFunction(FunctionSignature signature, const QScriptValue &prototype, int length = 0); QScriptValue newVariant(const QVariant &value); QScriptValue newRegExp(const QRegExp ®exp); QScriptValue newObject(); QScriptValue newArray(uint length = 0); QScriptValue newRegExp(const QString &pattern, const QString &flags); QScriptValue newDate(qsreal value); QScriptValue newDate(const QDateTime &value); QScriptValue newActivationObject(); # 171 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/src/script/qscriptengine.h" QScriptValue defaultPrototype(int metaTypeId) const; void setDefaultPrototype(int metaTypeId, const QScriptValue &prototype); typedef QScriptValue (*MarshalFunction)(QScriptEngine *, const void *); typedef void (*DemarshalFunction)(const QScriptValue &, void *); template inline QScriptValue toScriptValue(const T &value) { return qScriptValueFromValue(this, value); } template inline T fromScriptValue(const QScriptValue &value) { return qScriptValueToValue(value); } QScriptValue importExtension(const QString &extension); void collectGarbage(); void setProcessEventsInterval(int interval); int processEventsInterval() const; private: QScriptValue create(int type, const void *ptr); bool convert(const QScriptValue &value, int type, void *ptr); void registerCustomType(int type, MarshalFunction mf, DemarshalFunction df, const QScriptValue &prototype); friend inline void qScriptRegisterMetaType_helper(QScriptEngine *, int, MarshalFunction, DemarshalFunction, const QScriptValue &); friend inline QScriptValue qScriptValueFromValue_helper(QScriptEngine *, int, const void *); friend inline bool qscriptvalue_cast_helper(const QScriptValue &, int, void *); protected: QScriptEnginePrivate *d_ptr; QScriptEngine(QScriptEnginePrivate &dd); private: inline QScriptEnginePrivate* d_func() { return reinterpret_cast(d_ptr); } inline const QScriptEnginePrivate* d_func() const { return reinterpret_cast(d_ptr); } friend class QScriptEnginePrivate; QScriptEngine(const QScriptEngine &); QScriptEngine &operator=(const QScriptEngine &); }; # 249 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/src/script/qscriptengine.h" inline QScriptValue qScriptValueFromValue_helper(QScriptEngine *engine, int type, const void *ptr) { if (!engine) return QScriptValue(); return engine->create(type, ptr); } template inline QScriptValue qScriptValueFromValue(QScriptEngine *engine, const T &t) { return qScriptValueFromValue_helper(engine, qMetaTypeId(), &t); } inline bool qscriptvalue_cast_helper(const QScriptValue &value, int type, void *ptr) { if (QScriptEngine *eng = value.engine()) return eng->convert(value, type, ptr); return false; } template T qscriptvalue_cast(const QScriptValue &value , T * = 0 ) { T t; const int id = qMetaTypeId(); if (qscriptvalue_cast_helper(value, id, &t)) return t; else if (value.isVariant()) return qvariant_cast(value.toVariant()); return T(); } template inline T qScriptValueToValue(const QScriptValue &value) { return qscriptvalue_cast(value); } inline void qScriptRegisterMetaType_helper(QScriptEngine *eng, int type, QScriptEngine::MarshalFunction mf, QScriptEngine::DemarshalFunction df, const QScriptValue &prototype) { eng->registerCustomType(type, mf, df, prototype); } template int qScriptRegisterMetaType( QScriptEngine *eng, QScriptValue (*toScriptValue)(QScriptEngine *, const T &t), void (*fromScriptValue)(const QScriptValue &, T &t), const QScriptValue &prototype = QScriptValue() , T * = 0 ) { const int id = qRegisterMetaType(); qScriptRegisterMetaType_helper( eng, id, reinterpret_cast(toScriptValue), reinterpret_cast(fromScriptValue), prototype); return id; } template QScriptValue qScriptValueFromSequence(QScriptEngine *eng, const Container &cont) { QScriptValue a = eng->newArray(); typename Container::const_iterator begin = cont.begin(); typename Container::const_iterator end = cont.end(); typename Container::const_iterator it; quint32 i; for (it = begin, i = 0; it != end; ++it, ++i) a.setProperty(i, qScriptValueFromValue(eng, *it)); return a; } template void qScriptValueToSequence(const QScriptValue &value, Container &cont) { quint32 len = value.property(QLatin1String("length")).toUInt32(); for (quint32 i = 0; i < len; ++i) { QScriptValue item = value.property(i); cont.push_back(qscriptvalue_cast(item)); } } template int qScriptRegisterSequenceMetaType( QScriptEngine *engine, const QScriptValue &prototype = QScriptValue() , T * = 0 ) { return qScriptRegisterMetaType(engine, qScriptValueFromSequence, qScriptValueToSequence, prototype); } inline QFlags operator|(QScriptEngine::QObjectWrapOptions::enum_type f1, QScriptEngine::QObjectWrapOptions::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QScriptEngine::QObjectWrapOptions::enum_type f1, QFlags f2) { return f2 | f1; } # 53 "./project.h" 2 class QMakeProperty; struct ParsableBlock; struct IteratorBlock; struct FunctionBlock; class QMakeProject { struct ScopeBlock { enum TestStatus { TestNone, TestFound, TestSeek }; ScopeBlock() : iterate(0), ignore(false), else_status(TestNone) { } ScopeBlock(bool i) : iterate(0), ignore(i), else_status(TestNone) { } ~ScopeBlock(); IteratorBlock *iterate; uint ignore : 1, else_status : 2; }; friend struct ParsableBlock; friend struct IteratorBlock; friend struct FunctionBlock; QScriptEngine eng; QStack scope_blocks; QStack function_blocks; IteratorBlock *iterator; FunctionBlock *function; QMap testFunctions, replaceFunctions; bool own_prop; QString pfile, cfile; QMakeProperty *prop; void reset(); QMap vars, base_vars, cache; bool parse(const QString &text, QMap &place, int line_count=1); enum IncludeStatus { IncludeSuccess, IncludeFeatureAlreadyLoaded, IncludeFailure, IncludeNoExist, IncludeParseFailure }; enum IncludeFlags { IncludeFlagNone = 0x00, IncludeFlagFeature = 0x01, IncludeFlagNewParser = 0x02, IncludeFlagNewProject = 0x04 }; IncludeStatus doProjectInclude(QString file, uchar flags, QMap &place); bool doProjectCheckReqs(const QStringList &deps, QMap &place); bool doVariableReplace(QString &str, QMap &place); QStringList doVariableReplaceExpand(const QString &str, QMap &place, bool *ok=0); void init(QMakeProperty *, const QMap *); QStringList &values(const QString &v, QMap &place); public: QMakeProject() { init(0, 0); } QMakeProject(QMakeProperty *p) { init(p, 0); } QMakeProject(QMakeProject *p, const QMap *nvars=0); QMakeProject(const QMap &nvars) { init(0, &nvars); } QMakeProject(QMakeProperty *p, const QMap &nvars) { init(p, &nvars); } ~QMakeProject(); enum { ReadCache=0x01, ReadConf=0x02, ReadCmdLine=0x04, ReadProFile=0x08, ReadPostFiles=0x10, ReadFeatures=0x20, ReadConfigs=0x40, ReadAll=0xFF }; inline bool parse(const QString &text) { return parse(text, vars); } bool read(const QString &project, uchar cmd=ReadAll); bool read(uchar cmd=ReadAll); QStringList userExpandFunctions() { return replaceFunctions.keys(); } QStringList userTestFunctions() { return testFunctions.keys(); } QString projectFile(); QString configFile(); inline QMakeProperty *properties() { return prop; } bool doProjectTest(QString str, QMap &place); bool doProjectTest(QString func, const QString ¶ms, QMap &place); bool doProjectTest(QString func, QStringList args, QMap &place); bool doProjectTest(QString func, QList args, QMap &place); QStringList doProjectExpand(QString func, const QString ¶ms, QMap &place); QStringList doProjectExpand(QString func, QStringList args, QMap &place); QStringList doProjectExpand(QString func, QList args, QMap &place); QStringList expand(const QString &v); QStringList expand(const QString &func, const QList &args); bool test(const QString &v); bool test(const QString &func, const QList &args); bool isActiveConfig(const QString &x, bool regex=false, QMap *place=__null); bool isSet(const QString &v); bool isEmpty(const QString &v); QStringList &values(const QString &v); QString first(const QString &v); QMap &variables(); protected: friend class MakefileGenerator; bool read(const QString &file, QMap &place); bool read(QTextStream &file, QMap &place); }; template <> struct QMetaTypeId< QMakeProject* > { enum { Defined = 1 }; static int qt_metatype_id() { static QBasicAtomic metatype_id = { (0) }; if (!metatype_id) metatype_id = qRegisterMetaType< QMakeProject* >("QMakeProject*"); return metatype_id; } }; inline QString QMakeProject::projectFile() { if (pfile == "-") return QString("(stdin)"); return pfile; } inline QString QMakeProject::configFile() { return cfile; } inline QStringList &QMakeProject::values(const QString &v) { return values(v, vars); } inline bool QMakeProject::isEmpty(const QString &v) { return !isSet(v) || values(v).isEmpty(); } inline bool QMakeProject::isSet(const QString &v) { return vars.contains(v); } inline QString QMakeProject::first(const QString &v) { const QStringList vals = values(v); if(vals.isEmpty()) return QString(""); return vals.first(); } inline QMap &QMakeProject::variables() { return vars; } # 43 "./option.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 44 "./option.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstringlist.h" 1 # 45 "./option.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qfile.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qfile.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qfile.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qiodevice.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qfile.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qfile.h" 2 # 1 "/usr/include/stdio.h" 1 3 4 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qfile.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QAbstractFileEngine; class QFilePrivate; class QFile : public QIODevice { inline QFilePrivate* d_func() { return reinterpret_cast(d_ptr); } inline const QFilePrivate* d_func() const { return reinterpret_cast(d_ptr); } friend class QFilePrivate; public: enum FileError { NoError = 0, ReadError = 1, WriteError = 2, FatalError = 3, ResourceError = 4, OpenError = 5, AbortError = 6, TimeOutError = 7, UnspecifiedError = 8, RemoveError = 9, RenameError = 10, PositionError = 11, ResizeError = 12, PermissionsError = 13, CopyError = 14 }; enum Permission { ReadOwner = 0x4000, WriteOwner = 0x2000, ExeOwner = 0x1000, ReadUser = 0x0400, WriteUser = 0x0200, ExeUser = 0x0100, ReadGroup = 0x0040, WriteGroup = 0x0020, ExeGroup = 0x0010, ReadOther = 0x0004, WriteOther = 0x0002, ExeOther = 0x0001 }; typedef QFlags Permissions; QFile(); QFile(const QString &name); ~QFile(); FileError error() const; void unsetError(); QString fileName() const; void setFileName(const QString &name); typedef QByteArray (*EncoderFn)(const QString &fileName); typedef QString (*DecoderFn)(const QByteArray &localfileName); static QByteArray encodeName(const QString &fileName); static QString decodeName(const QByteArray &localFileName); inline static QString decodeName(const char *localFileName) { return decodeName(QByteArray(localFileName)); }; static void setEncodingFunction(EncoderFn); static void setDecodingFunction(DecoderFn); bool exists() const; static bool exists(const QString &fileName); QString readLink() const; static QString readLink(const QString &fileName); inline QString symLinkTarget() const { return readLink(); } inline static QString symLinkTarget(const QString &fileName) { return readLink(fileName); } bool remove(); static bool remove(const QString &fileName); bool rename(const QString &newName); static bool rename(const QString &oldName, const QString &newName); bool link(const QString &newName); static bool link(const QString &oldname, const QString &newName); bool copy(const QString &newName); static bool copy(const QString &fileName, const QString &newName); bool isSequential() const; bool open(OpenMode flags); bool open(FILE *f, OpenMode flags); bool open(int fd, OpenMode flags); virtual void close(); qint64 size() const; qint64 pos() const; bool seek(qint64 offset); bool atEnd() const; bool flush(); bool resize(qint64 sz); static bool resize(const QString &filename, qint64 sz); Permissions permissions() const; static Permissions permissions(const QString &filename); bool setPermissions(Permissions permissionSpec); static bool setPermissions(const QString &filename, Permissions permissionSpec); int handle() const; virtual QAbstractFileEngine *fileEngine() const; # 171 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qfile.h" protected: QFile(QFilePrivate &dd); qint64 readData(char *data, qint64 maxlen); qint64 writeData(const char *data, qint64 len); qint64 readLineData(char *data, qint64 maxlen); private: QFile(const QFile &); QFile &operator=(const QFile &); }; inline QFlags operator|(QFile::Permissions::enum_type f1, QFile::Permissions::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QFile::Permissions::enum_type f1, QFlags f2) { return f2 | f1; } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qfile.h" 2 # 46 "./option.h" 2 const char *qmake_version(); QString qmake_getpwd(); bool qmake_setpwd(const QString &p); void debug_msg_internal(int level, const char *fmt, ...); enum QMakeWarn { WarnNone = 0x00, WarnParser = 0x01, WarnLogic = 0x02, WarnAll = 0xFF }; void warn_msg(QMakeWarn t, const char *fmt, ...); struct Option { static QString js_ext; static QString libtool_ext; static QString pkgcfg_ext; static QString prf_ext; static QString prl_ext; static QString ui_ext; static QStringList h_ext; static QStringList cpp_ext; static QStringList c_ext; static QString h_moc_ext; static QString cpp_moc_ext; static QString obj_ext; static QString lex_ext; static QString yacc_ext; static QString h_moc_mod; static QString cpp_moc_mod; static QString lex_mod; static QString yacc_mod; static QString dir_sep; static QString dirlist_sep; static QString sysenv_mod; static QString pro_ext; static QString res_ext; static char field_sep; static const char *application_argv0; enum CmdLineFlags { QMAKE_CMDLINE_SUCCESS = 0x00, QMAKE_CMDLINE_SHOW_USAGE = 0x01, QMAKE_CMDLINE_BAIL = 0x02, QMAKE_CMDLINE_ERROR = 0x04 }; static int init(int argc=0, char **argv=0); static bool postProcessProject(QMakeProject *); enum StringFixFlags { FixNone = 0x00, FixEnvVars = 0x01, FixPathCanonicalize = 0x02, FixPathToLocalSeparators = 0x04, FixPathToTargetSeparators = 0x08 }; static QString fixString(QString string, uchar flags); inline static QString fixPathToLocalOS(const QString &in, bool fix_env=true, bool canonical=true) { uchar flags = FixPathToLocalSeparators; if(fix_env) flags |= FixEnvVars; if(canonical) flags |= FixPathCanonicalize; return fixString(in, flags); } inline static QString fixPathToTargetOS(const QString &in, bool fix_env=true, bool canonical=true) { uchar flags = FixPathToTargetSeparators; if(fix_env) flags |= FixEnvVars; if(canonical) flags |= FixPathCanonicalize; return fixString(in, flags); } enum QMAKE_MODE { QMAKE_GENERATE_NOTHING, QMAKE_GENERATE_PROJECT, QMAKE_GENERATE_MAKEFILE, QMAKE_GENERATE_PRL, QMAKE_SET_PROPERTY, QMAKE_QUERY_PROPERTY }; static QMAKE_MODE qmake_mode; static QString qmake_abslocation; static QFile output; static QString output_dir; static int debug_level; static int warn_level; static bool recursive; static QStringList before_user_vars, after_user_vars, user_configs, after_user_configs; enum TARG_MODE { TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE, TARG_MAC9_MODE, TARG_QNX6_MODE }; static TARG_MODE target_mode; static QString user_template, user_template_prefix; static QStringList shellPath; struct prop { static QStringList properties; }; struct projfile { static bool do_pwd; static QStringList project_dirs; }; struct mkfile { static QString qmakespec; static bool do_cache; static bool do_deps; static bool do_mocs; static bool do_dep_heuristics; static bool do_preprocess; static bool do_stub_makefile; static QString cachefile; static int cachefile_depth; static QStringList project_files; static QString qmakespec_commandline; }; private: static int parseCommandLine(int, char **, int=0); }; inline QString fixEnvVariables(const QString &x) { return Option::fixString(x, Option::FixEnvVars); } inline QStringList splitPathList(const QString paths) { return paths.split(Option::dirlist_sep); } class QLibraryInfo { public: enum LibraryLocation { PrefixPath, DocumentationPath, HeadersPath, LibrariesPath, BinariesPath, PluginsPath, DataPath, TranslationsPath, SettingsPath, DemosPath, ExamplesPath }; static QString location(LibraryLocation); }; # 43 "generators/makefile.h" 2 # 1 "./project.h" 1 # 44 "generators/makefile.h" 2 # 1 "generators/makefiledeps.h" 1 # 42 "generators/makefiledeps.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstringlist.h" 1 # 43 "generators/makefiledeps.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qfileinfo.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qfileinfo.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qfileinfo.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qfile.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qfileinfo.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qlist.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qfileinfo.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QDir; class QDateTime; class QFileInfoPrivate; class QFileInfo { public: QFileInfo(); QFileInfo(const QString &file); QFileInfo(const QFile &file); QFileInfo(const QDir &dir, const QString &file); QFileInfo(const QFileInfo &fileinfo); ~QFileInfo(); QFileInfo &operator=(const QFileInfo &fileinfo); bool operator==(const QFileInfo &fileinfo); bool operator==(const QFileInfo &fileinfo) const; inline bool operator!=(const QFileInfo &fileinfo) { return !(operator==(fileinfo)); } inline bool operator!=(const QFileInfo &fileinfo) const { return !(operator==(fileinfo)); } void setFile(const QString &file); void setFile(const QFile &file); void setFile(const QDir &dir, const QString &file); bool exists() const; void refresh(); QString filePath() const; QString absoluteFilePath() const; QString canonicalFilePath() const; QString fileName() const; QString baseName() const; QString completeBaseName() const; QString suffix() const; QString bundleName() const; QString completeSuffix() const; QString path() const; QString absolutePath() const; QString canonicalPath() const; QDir dir() const; QDir absoluteDir() const; bool isReadable() const; bool isWritable() const; bool isExecutable() const; bool isHidden() const; bool isRelative() const; inline bool isAbsolute() const { return !isRelative(); } bool makeAbsolute(); bool isFile() const; bool isDir() const; bool isSymLink() const; bool isRoot() const; bool isBundle() const; QString readLink() const; inline QString symLinkTarget() const { return readLink(); } QString owner() const; uint ownerId() const; QString group() const; uint groupId() const; bool permission(QFile::Permissions permissions) const; QFile::Permissions permissions() const; qint64 size() const; QDateTime created() const; QDateTime lastModified() const; QDateTime lastRead() const; void detach(); bool caching() const; void setCaching(bool on); # 162 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qfileinfo.h" protected: QFileInfoPrivate *d_ptr; private: inline QFileInfoPrivate* d_func() { return reinterpret_cast(d_ptr); } inline const QFileInfoPrivate* d_func() const { return reinterpret_cast(d_ptr); } friend class QFileInfoPrivate; }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QFileInfo)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QFileInfo"; } }; typedef QList QFileInfoList; # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qfileinfo.h" 2 # 44 "generators/makefiledeps.h" 2 struct SourceFile; struct SourceDependChildren; class SourceFiles; class QMakeLocalFileName { uint is_null : 1; mutable QString real_name, local_name; public: QMakeLocalFileName() : is_null(1) { } QMakeLocalFileName(const QString &); bool isNull() const { return is_null; } inline const QString &real() const { return real_name; } const QString &local() const; bool operator==(const QMakeLocalFileName &other) { return (this->real_name == other.real_name); } bool operator!=(const QMakeLocalFileName &other) { return !(*this == other); } }; class QMakeSourceFileInfo { private: SourceFiles *files, *includes; bool files_changed; QList depdirs; char *spare_buffer; int spare_buffer_size; char *getBuffer(int s); bool findMocs(SourceFile *); bool findDeps(SourceFile *); void dependTreeWalker(SourceFile *, SourceDependChildren *); QString cachefile; protected: virtual QMakeLocalFileName fixPathForFile(const QMakeLocalFileName &, bool forOpen=false); virtual QMakeLocalFileName findFileForDep(const QMakeLocalFileName &, const QMakeLocalFileName &); virtual QFileInfo findFileInfo(const QMakeLocalFileName &); public: QMakeSourceFileInfo(const QString &cachefile=""); virtual ~QMakeSourceFileInfo(); QList dependencyPaths() const { return depdirs; } void setDependencyPaths(const QList &); enum DependencyMode { Recursive, NonRecursive }; inline void setDependencyMode(DependencyMode mode) { dep_mode = mode; } inline DependencyMode dependencyMode() const { return dep_mode; } enum SourceFileType { TYPE_UNKNOWN, TYPE_C, TYPE_UI, TYPE_QRC }; enum SourceFileSeek { SEEK_DEPS=0x01, SEEK_MOCS=0x02 }; void addSourceFiles(const QStringList &, uchar seek, SourceFileType type=TYPE_C); void addSourceFile(const QString &, uchar seek, SourceFileType type=TYPE_C); bool containsSourceFile(const QString &, SourceFileType type=TYPE_C); int included(const QString &file); QStringList dependencies(const QString &file); bool mocable(const QString &file); virtual QMap getCacheVerification(); virtual bool verifyCache(const QMap &); void setCacheFile(const QString &cachefile); void loadCache(const QString &cf); void saveCache(const QString &cf); private: DependencyMode dep_mode; }; # 45 "generators/makefile.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qtextstream.h" 1 # 46 "generators/makefile.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qlist.h" 1 # 47 "generators/makefile.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qhash.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qatomic.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qchar.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qiterator.h" 1 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qlist.h" 1 # 46 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qpair.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qpair.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qpair.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qdatastream.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qpair.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; template struct QPair { typedef T1 first_type; typedef T2 second_type; QPair() : first(T1()), second(T2()) {} QPair(const T1 &t1, const T2 &t2) : first(t1), second(t2) {} QPair &operator=(const QPair &other) { first = other.first; second = other.second; return *this; } T1 first; T2 second; }; template inline bool operator==(const QPair &p1, const QPair &p2) { return p1.first == p2.first && p1.second == p2.second; } template inline bool operator!=(const QPair &p1, const QPair &p2) { return !(p1 == p2); } template inline bool operator<(const QPair &p1, const QPair &p2) { return p1.first < p2.first || (!(p2.first < p1.first) && p1.second < p2.second); } template inline bool operator>(const QPair &p1, const QPair &p2) { return p2 < p1; } template inline bool operator<=(const QPair &p1, const QPair &p2) { return !(p2 < p1); } template inline bool operator>=(const QPair &p1, const QPair &p2) { return !(p1 < p2); } template QPair qMakePair(const T1 &x, const T2 &y) { return QPair(x, y); } template inline QDataStream& operator>>(QDataStream& s, QPair& p) { s >> p.first >> p.second; return s; } template inline QDataStream& operator<<(QDataStream& s, const QPair& p) { s << p.first << p.second; return s; } # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qpair.h" 2 # 47 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QBitArray; class QByteArray; class QString; class QStringRef; inline uint qHash(char key) { return uint(key); } inline uint qHash(uchar key) { return uint(key); } inline uint qHash(signed char key) { return uint(key); } inline uint qHash(ushort key) { return uint(key); } inline uint qHash(short key) { return uint(key); } inline uint qHash(uint key) { return key; } inline uint qHash(int key) { return uint(key); } inline uint qHash(ulong key) { if (sizeof(ulong) > sizeof(uint)) { return uint((key >> (8 * sizeof(uint) - 1)) ^ key); } else { return uint(key); } } inline uint qHash(long key) { return qHash(ulong(key)); } inline uint qHash(quint64 key) { if (sizeof(quint64) > sizeof(uint)) { return uint((key >> (8 * sizeof(uint) - 1)) ^ key); } else { return uint(key); } } inline uint qHash(qint64 key) { return qHash(quint64(key)); } inline uint qHash(QChar key) { return qHash(key.unicode()); } uint qHash(const QByteArray &key); uint qHash(const QString &key); uint qHash(const QStringRef &key); uint qHash(const QBitArray &key); template inline uint qHash(const T *key) { if (sizeof(const T *) > sizeof(uint)) return qHash(reinterpret_cast(key)); else return uint(reinterpret_cast(key)); } template inline uint qHash(const QPair &key) { uint h1 = qHash(key.first); uint h2 = qHash(key.second); return ((h1 << 16) | (h1 >> 16)) ^ h2; } struct QHashData { struct Node { Node *next; uint h; }; Node *fakeNext; Node **buckets; QBasicAtomic ref; int size; int nodeSize; short userNumBits; short numBits; int numBuckets; uint sharable : 1; void *allocateNode(); void freeNode(void *node); QHashData *detach_helper(void (*node_duplicate)(Node *, void *), int nodeSize); void mightGrow(); void hasShrunk(); void rehash(int hint); void destroyAndFree(); Node *firstNode(); static Node *nextNode(Node *node); static Node *previousNode(Node *node); static QHashData shared_null; }; inline void QHashData::mightGrow() { if (size >= numBuckets) rehash(numBits + 1); } inline void QHashData::hasShrunk() { if (size <= (numBuckets >> 3) && numBits > userNumBits) rehash(qMax(int(numBits) - 2, int(userNumBits))); } inline QHashData::Node *QHashData::firstNode() { Node *e = reinterpret_cast(this); Node **bucket = buckets; int n = numBuckets; while (n--) { if (*bucket != e) return *bucket; ++bucket; } return e; } struct QHashDummyValue { }; inline bool operator==(const QHashDummyValue & , const QHashDummyValue & ) { return true; } template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QHashDummyValue)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE | Q_DUMMY_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QHashDummyValue"; } }; template struct QHashDummyNode { QHashDummyNode *next; uint h; Key key; inline QHashDummyNode(const Key &key0) : key(key0) {} }; template struct QHashNode { QHashNode *next; uint h; Key key; T value; inline QHashNode(const Key &key0) : key(key0) {} inline QHashNode(const Key &key0, const T &value0) : key(key0), value(value0) {} inline bool same_key(uint h0, const Key &key0) { return h0 == h && key0 == key; } }; # 230 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h" template struct QHashDummyNode { QHashDummyNode *next; union { uint h; int key; }; inline QHashDummyNode(int ) {} }; template struct QHashNode { QHashNode *next; union { uint h; int key; }; T value; inline QHashNode(int ) {} inline QHashNode(int , const T &value0) : value(value0) {} inline bool same_key(uint h0, int) { return h0 == h; } }; template struct QHashDummyNode { QHashDummyNode *next; union { uint h; uint key; }; inline QHashDummyNode(uint ) {} }; template struct QHashNode { QHashNode *next; union { uint h; uint key; }; T value; inline QHashNode(uint ) {} inline QHashNode(uint , const T &value0) : value(value0) {} inline bool same_key(uint h0, uint) { return h0 == h; } }; template class QHash { typedef QHashDummyNode DummyNode; typedef QHashNode Node; union { QHashData *d; QHashNode *e; }; static inline Node *concrete(QHashData::Node *node) { return reinterpret_cast(node); } public: inline QHash() : d(&QHashData::shared_null) { d->ref.ref(); } inline QHash(const QHash &other) : d(other.d) { d->ref.ref(); if (!d->sharable) detach(); } inline ~QHash() { if (!d->ref.deref()) freeData(d); } QHash &operator=(const QHash &other); bool operator==(const QHash &other) const; inline bool operator!=(const QHash &other) const { return !(*this == other); } inline int size() const { return d->size; } inline bool isEmpty() const { return d->size == 0; } inline int capacity() const { return d->numBuckets; } void reserve(int size); inline void squeeze() { reserve(1); } inline void detach() { if (d->ref != 1) detach_helper(); } inline bool isDetached() const { return d->ref == 1; } inline void setSharable(bool sharable) { if (!sharable) detach(); d->sharable = sharable; } void clear(); int remove(const Key &key); T take(const Key &key); bool contains(const Key &key) const; const Key key(const T &value) const; const Key key(const T &value, const Key &defaultKey) const; const T value(const Key &key) const; const T value(const Key &key, const T &defaultValue) const; T &operator[](const Key &key); const T operator[](const Key &key) const; QList uniqueKeys() const; QList keys() const; QList keys(const T &value) const; QList values() const; QList values(const Key &key) const; int count(const Key &key) const; class const_iterator; class iterator { QHashData::Node *i; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef T *pointer; typedef T &reference; inline operator Node *() const { return concrete(i); } inline iterator() : i(0) { } explicit inline iterator(void *node) : i(reinterpret_cast(node)) { } inline const Key &key() const { return concrete(i)->key; } inline T &value() const { return concrete(i)->value; } inline T &operator*() const { return concrete(i)->value; } inline T *operator->() const { return &concrete(i)->value; } inline bool operator==(const iterator &o) const { return i == o.i; } inline bool operator!=(const iterator &o) const { return i != o.i; } inline iterator &operator++() { i = QHashData::nextNode(i); return *this; } inline iterator operator++(int) { iterator r = *this; i = QHashData::nextNode(i); return r; } inline iterator &operator--() { i = QHashData::previousNode(i); return *this; } inline iterator operator--(int) { iterator r = *this; i = QHashData::previousNode(i); return r; } inline iterator operator+(int j) const { iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } inline iterator operator-(int j) const { return operator+(-j); } inline iterator &operator+=(int j) { return *this = *this + j; } inline iterator &operator-=(int j) { return *this = *this - j; } public: inline bool operator==(const const_iterator &o) const { return i == reinterpret_cast(o).i; } inline bool operator!=(const const_iterator &o) const { return i != reinterpret_cast(o).i; } private: inline operator bool() const { return false; } }; friend class iterator; class const_iterator { QHashData::Node *i; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef const T *pointer; typedef const T &reference; inline operator Node *() const { return concrete(i); } inline const_iterator() : i(0) { } explicit inline const_iterator(void *node) : i(reinterpret_cast(node)) { } inline const_iterator(const iterator &o) { i = reinterpret_cast(o).i; } inline const Key &key() const { return concrete(i)->key; } inline const T &value() const { return concrete(i)->value; } inline const T &operator*() const { return concrete(i)->value; } inline const T *operator->() const { return &concrete(i)->value; } inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } inline const_iterator &operator++() { i = QHashData::nextNode(i); return *this; } inline const_iterator operator++(int) { const_iterator r = *this; i = QHashData::nextNode(i); return r; } inline const_iterator &operator--() { i = QHashData::previousNode(i); return *this; } inline const_iterator operator--(int) { const_iterator r = *this; i = QHashData::previousNode(i); return r; } inline const_iterator operator+(int j) const { const_iterator r = *this; if (j > 0) while (j--) ++r; else while (j++) --r; return r; } inline const_iterator operator-(int j) const { return operator+(-j); } inline const_iterator &operator+=(int j) { return *this = *this + j; } inline const_iterator &operator-=(int j) { return *this = *this - j; } # 419 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h" private: inline operator bool() const { return false; } }; friend class const_iterator; inline iterator begin() { detach(); return iterator(d->firstNode()); } inline const_iterator begin() const { return const_iterator(d->firstNode()); } inline const_iterator constBegin() const { return const_iterator(d->firstNode()); } inline iterator end() { detach(); return iterator(e); } inline const_iterator end() const { return const_iterator(e); } inline const_iterator constEnd() const { return const_iterator(e); } iterator erase(iterator it); typedef iterator Iterator; typedef const_iterator ConstIterator; inline int count() const { return d->size; } iterator find(const Key &key); const_iterator find(const Key &key) const; const_iterator constFind(const Key &key) const; iterator insert(const Key &key, const T &value); iterator insertMulti(const Key &key, const T &value); QHash &unite(const QHash &other); typedef T mapped_type; typedef Key key_type; typedef ptrdiff_t difference_type; typedef int size_type; inline bool empty() const { return isEmpty(); } private: void detach_helper(); void freeData(QHashData *d); Node **findNode(const Key &key, uint *hp = 0) const; Node *createNode(uint h, const Key &key, const T &value, Node **nextNode); void deleteNode(Node *node); static void duplicateNode(QHashData::Node *originalNode, void *newNode); }; template inline void QHash::deleteNode(Node *node) { node->~Node(); d->freeNode(node); } template inline void QHash::duplicateNode(QHashData::Node *node, void *newNode) { Node *concreteNode = concrete(node); if (QTypeInfo::isDummy) { (void) new (newNode) DummyNode(concreteNode->key); } else { (void) new (newNode) Node(concreteNode->key, concreteNode->value); } } template inline typename QHash::Node * QHash::createNode(uint ah, const Key &akey, const T &avalue, Node **anextNode) { Node *node; if (QTypeInfo::isDummy) { node = reinterpret_cast(new (d->allocateNode()) DummyNode(akey)); } else { node = new (d->allocateNode()) Node(akey, avalue); } node->h = ah; node->next = *anextNode; *anextNode = node; ++d->size; return node; } template inline QHash &QHash::unite(const QHash &other) { QHash copy(other); const_iterator it = copy.constEnd(); while (it != copy.constBegin()) { --it; insertMulti(it.key(), it.value()); } return *this; } template void QHash::freeData(QHashData *x) { Node *e_for_x = reinterpret_cast(x); Node **bucket = reinterpret_cast(x->buckets); int n = x->numBuckets; while (n--) { Node *cur = *bucket++; while (cur != e_for_x) { Node *next = cur->next; deleteNode(cur); cur = next; } } x->destroyAndFree(); } template inline void QHash::clear() { *this = QHash(); } template void QHash::detach_helper() { QHashData *x = d->detach_helper(duplicateNode, QTypeInfo::isDummy ? sizeof(DummyNode) : sizeof(Node)); x = qAtomicSetPtr(&d, x); if (!x->ref.deref()) freeData(x); } template inline QHash &QHash::operator=(const QHash &other) { if (d != other.d) { QHashData *x = other.d; x->ref.ref(); x = qAtomicSetPtr(&d, x); if (!x->ref.deref()) freeData(x); if (!d->sharable) detach_helper(); } return *this; } template inline const T QHash::value(const Key &akey) const { Node *node; if (d->size == 0 || (node = *findNode(akey)) == e) { return T(); } else { return node->value; } } template inline const T QHash::value(const Key &akey, const T &adefaultValue) const { Node *node; if (d->size == 0 || (node = *findNode(akey)) == e) { return adefaultValue; } else { return node->value; } } template QList QHash::uniqueKeys() const { QList res; const_iterator i = begin(); if (i != end()) { for (;;) { const Key &aKey = i.key(); res.append(aKey); do { if (++i == end()) goto break_out_of_outer_loop; } while (aKey == i.key()); } } break_out_of_outer_loop: return res; } template QList QHash::keys() const { QList res; const_iterator i = begin(); while (i != end()) { res.append(i.key()); ++i; } return res; } template QList QHash::keys(const T &avalue) const { QList res; const_iterator i = begin(); while (i != end()) { if (i.value() == avalue) res.append(i.key()); ++i; } return res; } template const Key QHash::key(const T &avalue) const { return key(avalue, Key()); } template const Key QHash::key(const T &avalue, const Key &defaultValue) const { const_iterator i = begin(); while (i != end()) { if (i.value() == avalue) return i.key(); ++i; } return defaultValue; } template QList QHash::values() const { QList res; const_iterator i = begin(); while (i != end()) { res.append(i.value()); ++i; } return res; } template QList QHash::values(const Key &akey) const { QList res; Node *node = *findNode(akey); if (node != e) { do { res.append(node->value); } while ((node = node->next) != e && node->key == akey); } return res; } template int QHash::count(const Key &akey) const { int cnt = 0; Node *node = *findNode(akey); if (node != e) { do { ++cnt; } while ((node = node->next) != e && node->key == akey); } return cnt; } template inline const T QHash::operator[](const Key &akey) const { return value(akey); } template inline T &QHash::operator[](const Key &akey) { detach(); d->mightGrow(); uint h; Node **node = findNode(akey, &h); if (*node == e) return createNode(h, akey, T(), node)->value; return (*node)->value; } template inline typename QHash::iterator QHash::insert(const Key &akey, const T &avalue) { detach(); d->mightGrow(); uint h; Node **node = findNode(akey, &h); if (*node == e) return iterator(createNode(h, akey, avalue, node)); if (!QTypeInfo::isDummy) (*node)->value = avalue; return iterator(*node); } template inline typename QHash::iterator QHash::insertMulti(const Key &akey, const T &avalue) { detach(); d->mightGrow(); uint h; Node **nextNode = findNode(akey, &h); return iterator(createNode(h, akey, avalue, nextNode)); } template int QHash::remove(const Key &akey) { detach(); int oldSize = d->size; Node **node = findNode(akey); if (*node != e) { bool deleteNext = true; do { Node *next = (*node)->next; deleteNext = (next != e && next->key == (*node)->key); deleteNode(*node); *node = next; --d->size; } while (deleteNext); d->hasShrunk(); } return oldSize - d->size; } template T QHash::take(const Key &akey) { detach(); Node **node = findNode(akey); if (*node != e) { T t = (*node)->value; Node *next = (*node)->next; deleteNode(*node); *node = next; --d->size; d->hasShrunk(); return t; } return T(); } template typename QHash::iterator QHash::erase(iterator it) { if (it == iterator(e)) return it; iterator ret = it; ++ret; Node *node = it; Node **node_ptr = reinterpret_cast(&d->buckets[node->h % d->numBuckets]); while (*node_ptr != node) node_ptr = &(*node_ptr)->next; *node_ptr = node->next; deleteNode(node); --d->size; return ret; } template inline void QHash::reserve(int asize) { detach(); d->rehash(-qMax(asize, 1)); } template inline typename QHash::const_iterator QHash::find(const Key &akey) const { return const_iterator(*findNode(akey)); } template inline typename QHash::const_iterator QHash::constFind(const Key &akey) const { return const_iterator(*findNode(akey)); } template inline typename QHash::iterator QHash::find(const Key &akey) { detach(); return iterator(*findNode(akey)); } template inline bool QHash::contains(const Key &akey) const { return *findNode(akey) != e; } template typename QHash::Node **QHash::findNode(const Key &akey, uint *ahp) const { Node **node; uint h = qHash(akey); if (d->numBuckets) { node = reinterpret_cast(&d->buckets[h % d->numBuckets]); do {if(!(*node == e || (*node)->next))qt_assert("*node == e || (*node)->next","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h",841);} while (0); while (*node != e && !(*node)->same_key(h, akey)) node = &(*node)->next; } else { node = const_cast(reinterpret_cast(&e)); } if (ahp) *ahp = h; return node; } template bool QHash::operator==(const QHash &other) const { if (size() != other.size()) return false; if (d == other.d) return true; const_iterator it = begin(); while (it != end()) { const Key &akey = it.key(); const_iterator it2 = other.find(akey); do { if (it2 == other.end() || !(it2.key() == akey)) return false; if (!QTypeInfo::isDummy && !(it.value() == it2.value())) return false; ++it; ++it2; } while (it != end() && it.key() == akey); } return true; } template class QMultiHash : public QHash { public: QMultiHash() {} QMultiHash(const QHash &other) : QHash(other) {} inline typename QHash::iterator replace(const Key &key, const T &value) { return QHash::insert(key, value); } inline typename QHash::iterator insert(const Key &key, const T &value) { return QHash::insertMulti(key, value); } inline QMultiHash &operator+=(const QMultiHash &other) { unite(other); return *this; } inline QMultiHash operator+(const QMultiHash &other) const { QMultiHash result = *this; result += other; return result; } using QHash::contains; using QHash::remove; using QHash::count; using QHash::find; using QHash::constFind; # 919 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h" bool contains(const Key &key, const T &value) const; int remove(const Key &key, const T &value); int count(const Key &key, const T &value) const; typename QHash::iterator find(const Key &key, const T &value) { typename QHash::iterator i(find(key)); typename QHash::iterator end(this->end()); while (i != end && i.key() == key) { if (i.value() == value) return i; ++i; } return end; } typename QHash::const_iterator find(const Key &key, const T &value) const { typename QHash::const_iterator i(constFind(key)); typename QHash::const_iterator end(QHash::constEnd()); while (i != end && i.key() == key) { if (i.value() == value) return i; ++i; } return end; } typename QHash::const_iterator constFind(const Key &key, const T &value) const { return find(key, value); } private: T &operator[](const Key &key); const T operator[](const Key &key) const; }; template inline bool QMultiHash::contains(const Key &key, const T &value) const { return constFind(key, value) != QHash::constEnd(); } template inline int QMultiHash::remove(const Key &key, const T &value) { int n = 0; typename QHash::iterator i(find(key)); typename QHash::const_iterator end(QHash::constEnd()); while (i != end && i.key() == key) { if (i.value() == value) { i = erase(i); ++n; } else { ++i; } } return n; } template inline int QMultiHash::count(const Key &key, const T &value) const { int n = 0; typename QHash::const_iterator i(constFind(key)); typename QHash::const_iterator end(QHash::constEnd()); while (i != end && i.key() == key) { if (i.value() == value) ++n; ++i; } return n; } template class QHashIterator { typedef typename QHash::const_iterator const_iterator; typedef const_iterator Item; QHash c; const_iterator i, n; inline bool item_exists() const { return n != c.constEnd(); } public: inline QHashIterator(const QHash &container) : c(container), i(c.constBegin()), n(c.constEnd()) {} inline QHashIterator &operator=(const QHash &container) { c = container; i = c.constBegin(); n = c.constEnd(); return *this; } inline void toFront() { i = c.constBegin(); n = c.constEnd(); } inline void toBack() { i = c.constEnd(); n = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { const_iterator p = i; return --p; } inline const T &value() const { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h",989);} while (0); return *n; } inline const Key &key() const { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h",989);} while (0); return n.key(); } inline bool findNext(const T &t) { while ((n = i) != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(n = --i) == t) return true; n = c.constEnd(); return false; } }; template class QMutableHashIterator { typedef typename QHash::iterator iterator; typedef typename QHash::const_iterator const_iterator; typedef iterator Item; QHash *c; iterator i, n; inline bool item_exists() const { return const_iterator(n) != c->constEnd(); } public: inline QMutableHashIterator(QHash &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableHashIterator() { c->setSharable(true); } inline QMutableHashIterator &operator=(QHash &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = c->end(); } inline bool hasNext() const { return const_iterator(i) != c->constEnd(); } inline Item next() { n = i++; return n; } inline Item peekNext() const { return i; } inline bool hasPrevious() const { return const_iterator(i) != c->constBegin(); } inline Item previous() { n = --i; return n; } inline Item peekPrevious() const { iterator p = i; return --p; } inline void remove() { if (const_iterator(n) != c->constEnd()) { i = c->erase(n); n = c->end(); } } inline void setValue(const T &t) { if (const_iterator(n) != c->constEnd()) *n = t; } inline T &value() { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h",990);} while (0); return *n; } inline const T &value() const { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h",990);} while (0); return *n; } inline const Key &key() const { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qhash.h",990);} while (0); return n.key(); } inline bool findNext(const T &t) { while (const_iterator(n = i) != c->constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (const_iterator(i) != c->constBegin()) if (*(n = --i) == t) return true; n = c->end(); return false; } }; # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qhash.h" 2 # 48 "generators/makefile.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qfileinfo.h" 1 # 49 "generators/makefile.h" 2 struct ReplaceExtraCompilerCacheKey { mutable uint hash; QString var, in, out, pwd; ReplaceExtraCompilerCacheKey(const QString &v, const QStringList &i, const QStringList &o); bool operator==(const ReplaceExtraCompilerCacheKey &f) const; inline uint hashCode() const { if(!hash) hash = qHash(var) | qHash(in) | qHash(out) ; return hash; } }; inline uint qHash(const ReplaceExtraCompilerCacheKey &f) { return f.hashCode(); } struct ReplaceExtraCompilerCacheKey; class MakefileGenerator : protected QMakeSourceFileInfo { QString spec; bool init_opath_already, init_already, no_io; QHash init_compiler_already; QString build_args(const QString &outdir=QString()); void checkMultipleDefinition(const QString &, const QString &); mutable QHash depHeuristicsCache; mutable QHash dependsCache; mutable QHash extraCompilerVariablesCache; protected: QStringList createObjectList(const QStringList &sources); void writeObj(QTextStream &, const QString &src); void writeInstalls(QTextStream &t, const QString &installs, bool noBuild=false); void writeHeader(QTextStream &t); void writeSubDirs(QTextStream &t); void writeMakeQmake(QTextStream &t); void writeExtraVariables(QTextStream &t); void writeExtraTargets(QTextStream &t); void writeExtraCompilerTargets(QTextStream &t); void writeExtraCompilerVariables(QTextStream &t); virtual bool writeStubMakefile(QTextStream &t); virtual bool writeMakefile(QTextStream &t); struct SubTarget { QString name; QString in_directory, out_directory; QString profile, target, makefile; QStringList depends; }; enum SubTargetFlags { SubTargetInstalls=0x01, SubTargetOrdered=0x02, SubTargetsNoFlags=0x00 }; void writeSubTargets(QTextStream &t, QList subtargets, int flags); bool verifyExtraCompiler(const QString &c, const QString &f); virtual QString replaceExtraCompilerVariables(const QString &, const QStringList &, const QStringList &); inline QString replaceExtraCompilerVariables(const QString &val, const QString &in, const QString &out) { return replaceExtraCompilerVariables(val, QStringList(in), QStringList(out)); } QMakeLocalFileName fixPathForFile(const QMakeLocalFileName &, bool); QMakeLocalFileName findFileForDep(const QMakeLocalFileName &, const QMakeLocalFileName &); QFileInfo findFileInfo(const QMakeLocalFileName &); QMakeProject *project; virtual QString unescapeFilePath(const QString &path) const; virtual QStringList unescapeFilePaths(const QStringList &path) const; virtual QString escapeFilePath(const QString &path) const { return path; } QStringList escapeFilePaths(const QStringList &paths) const; void verifyCompilers(); virtual void init(); void initOutPaths(); struct Compiler { QString variable_in; enum CompilerFlag { CompilerNoFlags = 0x00, CompilerBuiltin = 0x01, CompilerNoCheckDeps = 0x02, CompilerRemoveNoExist = 0x04 }; uint flags, type; }; void initCompiler(const Compiler &comp); enum VPATHFlag { VPATH_NoFlag = 0x00, VPATH_WarnMissingFiles = 0x01, VPATH_RemoveMissingFiles = 0x02, VPATH_NoFixify = 0x04 }; QStringList findFilesInVPATH(QStringList l, uchar flags, const QString &var=""); inline int findExecutable(const QStringList &cmdline) { int ret; canExecute(cmdline, &ret); return ret; } bool canExecute(const QStringList &cmdline, int *argv0) const; inline bool canExecute(const QString &cmdline) const { return canExecute(cmdline.split(' '), 0); } bool mkdir(const QString &dir) const; QString mkdir_p_asstring(const QString &dir, bool escape=true) const; QString buildArgs(const QString &outdir=QString()); QString specdir(const QString &outdir=QString()); virtual QStringList &findDependencies(const QString &file); virtual bool doDepends() const { return Option::mkfile::do_deps; } void filterIncludedFiles(const QString &); virtual void processSources() { filterIncludedFiles("SOURCES"); filterIncludedFiles("GENERATED_SOURCES"); } virtual void usePlatformDir(); virtual QString defaultInstall(const QString &); QString prlFileName(bool fixify=true); void writePrlFile(); bool processPrlFile(QString &); virtual void processPrlVariable(const QString &, const QStringList &); virtual void processPrlFiles(); virtual void writePrlFile(QTextStream &); virtual bool findLibraries(); virtual QString var(const QString &var); QString varGlue(const QString &var, const QString &before, const QString &glue, const QString &after); QString varList(const QString &var); QString val(const QStringList &varList); QString valGlue(const QStringList &varList, const QString &before, const QString &glue, const QString &after); QString valList(const QStringList &varList); QString filePrefixRoot(const QString &, const QString &); enum FileFixifyType { FileFixifyAbsolute, FileFixifyRelative, FileFixifyDefault }; QString fileFixify(const QString& file, const QString &out_dir=QString(), const QString &in_dir=QString(), FileFixifyType fix=FileFixifyDefault, bool canon=true) const; inline QString fileFixify(const QString& file, FileFixifyType fix, bool canon=true) const { return fileFixify(file, QString(), QString(), fix, canon); } QStringList fileFixify(const QStringList& files, const QString &out_dir=QString(), const QString &in_dir=QString(), FileFixifyType fix=FileFixifyDefault, bool canon=true) const; inline QStringList fileFixify(const QStringList& files, FileFixifyType fix, bool canon=true) const { return fileFixify(files, QString(), QString(), fix, canon); } public: MakefileGenerator(); virtual ~MakefileGenerator(); QMakeProject *projectFile() const; void setProjectFile(QMakeProject *p); void setNoIO(bool o); bool noIO() const; inline bool exists(QString file) const { return fileInfo(file).exists(); } QFileInfo fileInfo(QString file) const; static MakefileGenerator *create(QMakeProject *); virtual bool write(); virtual bool writeProjectMakefile(); virtual bool supportsMetaBuild() { return true; } virtual bool supportsMergedBuilds() { return false; } virtual bool mergeBuildProject(MakefileGenerator * ) { return false; } virtual bool openOutput(QFile &, const QString &build) const; virtual bool isWindowsShell() const { return Option::target_mode == Option::TARG_WIN_MODE; } }; inline void MakefileGenerator::setNoIO(bool o) { no_io = o; } inline bool MakefileGenerator::noIO() const { return no_io; } inline QString MakefileGenerator::defaultInstall(const QString &) { return QString(""); } inline bool MakefileGenerator::findLibraries() { return true; } inline MakefileGenerator::~MakefileGenerator() { } # 43 "generators/unix/unixmake.h" 2 class UnixMakefileGenerator : public MakefileGenerator { bool init_flag, include_deps; bool writeMakefile(QTextStream &); QString libtoolFileName(bool fixify=true); void writeLibtoolFile(); QString pkgConfigPrefix() const; QString pkgConfigFileName(bool fixify=true); QString pkgConfigFixPath(QString) const; void writePkgConfigFile(); void writePrlFile(QTextStream &); public: UnixMakefileGenerator(); ~UnixMakefileGenerator(); protected: virtual bool doPrecompiledHeaders() const { return project->isActiveConfig("precompile_header"); } virtual bool doDepends() const { return !include_deps && !Option::mkfile::do_stub_makefile && MakefileGenerator::doDepends(); } virtual QString defaultInstall(const QString &); virtual void processPrlVariable(const QString &, const QStringList &); virtual void processPrlFiles(); virtual bool findLibraries(); virtual QString escapeFilePath(const QString &path) const; virtual QStringList &findDependencies(const QString &); virtual void init(); void writeMakeParts(QTextStream &); private: void init2(); }; inline UnixMakefileGenerator::~UnixMakefileGenerator() { } # 40 "generators/unix/unixmake2.cpp" 2 # 1 "./option.h" 1 # 41 "generators/unix/unixmake2.cpp" 2 # 1 "./meta.h" 1 # 42 "./meta.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qmap.h" 1 # 43 "./meta.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstringlist.h" 1 # 44 "./meta.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 45 "./meta.h" 2 class QMakeMetaInfo { bool readLibtoolFile(const QString &f); bool readPkgCfgFile(const QString &f); QMap vars; QString meta_type; static QMap > cache_vars; void clear(); public: QMakeMetaInfo(); bool readLib(QString lib); static QString findLib(QString lib); static bool libExists(QString lib); QString type() const; bool isEmpty(const QString &v); QStringList &values(const QString &v); QString first(const QString &v); QMap &variables(); }; inline bool QMakeMetaInfo::isEmpty(const QString &v) { return !vars.contains(v) || vars[v].isEmpty(); } inline QString QMakeMetaInfo::type() const { return meta_type; } inline QStringList &QMakeMetaInfo::values(const QString &v) { return vars[v]; } inline QString QMakeMetaInfo::first(const QString &v) { return isEmpty(v) ? QString("") : vars[v].first(); } inline QMap &QMakeMetaInfo::variables() { return vars; } inline bool QMakeMetaInfo::libExists(QString lib) { return !findLib(lib).isNull(); } # 42 "generators/unix/unixmake2.cpp" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qregexp.h" 1 # 43 "generators/unix/unixmake2.cpp" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qbytearray.h" 1 # 44 "generators/unix/unixmake2.cpp" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qfile.h" 1 # 45 "generators/unix/unixmake2.cpp" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qdir.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdir.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdir.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdir.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qfileinfo.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdir.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstringlist.h" 1 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdir.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QDirPrivate; class QDir { protected: QDirPrivate *d_ptr; private: inline QDirPrivate* d_func() { return reinterpret_cast(d_ptr); } inline const QDirPrivate* d_func() const { return reinterpret_cast(d_ptr); } friend class QDirPrivate; public: enum Filter { Dirs = 0x001, Files = 0x002, Drives = 0x004, NoSymLinks = 0x008, AllEntries = Dirs | Files | Drives, TypeMask = 0x00f, Readable = 0x010, Writable = 0x020, Executable = 0x040, PermissionMask = 0x070, Modified = 0x080, Hidden = 0x100, System = 0x200, AccessMask = 0x3F0, AllDirs = 0x400, CaseSensitive = 0x800, NoDotAndDotDot = 0x1000, NoFilter = -1 }; typedef QFlags Filters; enum SortFlag { Name = 0x00, Time = 0x01, Size = 0x02, Unsorted = 0x03, SortByMask = 0x03, DirsFirst = 0x04, Reversed = 0x08, IgnoreCase = 0x10, DirsLast = 0x20, LocaleAware = 0x40, Type = 0x80, NoSort = -1 }; typedef QFlags SortFlags; QDir(const QDir &); QDir(const QString &path = QString()); QDir(const QString &path, const QString &nameFilter, SortFlags sort = SortFlags(Name | IgnoreCase), Filters filter = AllEntries); ~QDir(); QDir &operator=(const QDir &); QDir &operator=(const QString &path); void setPath(const QString &path); QString path() const; QString absolutePath() const; QString canonicalPath() const; static void addResourceSearchPath(const QString &path); static void setSearchPaths(const QString &prefix, const QStringList &searchPaths); static void addSearchPath(const QString &prefix, const QString &path); static QStringList searchPaths(const QString &prefix); QString dirName() const; QString filePath(const QString &fileName) const; QString absoluteFilePath(const QString &fileName) const; QString relativeFilePath(const QString &fileName) const; static QString convertSeparators(const QString &pathName); static QString toNativeSeparators(const QString &pathName); static QString fromNativeSeparators(const QString &pathName); bool cd(const QString &dirName); bool cdUp(); QStringList nameFilters() const; void setNameFilters(const QStringList &nameFilters); Filters filter() const; void setFilter(Filters filter); SortFlags sorting() const; void setSorting(SortFlags sort); uint count() const; QString operator[](int) const; static QStringList nameFiltersFromString(const QString &nameFilter); QStringList entryList(Filters filters = NoFilter, SortFlags sort = NoSort) const; QStringList entryList(const QStringList &nameFilters, Filters filters = NoFilter, SortFlags sort = NoSort) const; QFileInfoList entryInfoList(Filters filters = NoFilter, SortFlags sort = NoSort) const; QFileInfoList entryInfoList(const QStringList &nameFilters, Filters filters = NoFilter, SortFlags sort = NoSort) const; bool mkdir(const QString &dirName) const; bool rmdir(const QString &dirName) const; bool mkpath(const QString &dirPath) const; bool rmpath(const QString &dirPath) const; bool isReadable() const; bool exists() const; bool isRoot() const; static bool isRelativePath(const QString &path); inline static bool isAbsolutePath(const QString &path) { return !isRelativePath(path); } bool isRelative() const; inline bool isAbsolute() const { return !isRelative(); } bool makeAbsolute(); bool operator==(const QDir &dir) const; inline bool operator!=(const QDir &dir) const { return !operator==(dir); } bool remove(const QString &fileName); bool rename(const QString &oldName, const QString &newName); bool exists(const QString &name) const; static QFileInfoList drives(); static QChar separator(); static bool setCurrent(const QString &path); static inline QDir current() { return QDir(currentPath()); } static QString currentPath(); static inline QDir home() { return QDir(homePath()); } static QString homePath(); static inline QDir root() { return QDir(rootPath()); } static QString rootPath(); static inline QDir temp() { return QDir(tempPath()); } static QString tempPath(); static bool match(const QStringList &filters, const QString &fileName); static bool match(const QString &filter, const QString &fileName); static QString cleanPath(const QString &path); void refresh() const; # 244 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdir.h" }; inline QFlags operator|(QDir::Filters::enum_type f1, QDir::Filters::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QDir::Filters::enum_type f1, QFlags f2) { return f2 | f1; } inline QFlags operator|(QDir::SortFlags::enum_type f1, QDir::SortFlags::enum_type f2) { return QFlags(f1) | f2; } inline QFlags operator|(QDir::SortFlags::enum_type f1, QFlags f2) { return f2 | f1; } class QDebug; QDebug operator<<(QDebug debug, QDir::Filters filters); QDebug operator<<(QDebug debug, const QDir &dir); # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qdir.h" 2 # 46 "generators/unix/unixmake2.cpp" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qdatetime.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qdatetime.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qdatetime.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qdatetime.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qnamespace.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qdatetime.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QDate { public: QDate() { jd = 0; } QDate(int y, int m, int d); bool isNull() const { return jd == 0; } bool isValid() const; int year() const; int month() const; int day() const; int dayOfWeek() const; int dayOfYear() const; int daysInMonth() const; int daysInYear() const; int weekNumber(int *yearNum = 0) const; static QString shortMonthName(int month); static QString shortDayName(int weekday); static QString longMonthName(int month); static QString longDayName(int weekday); QString toString(Qt::DateFormat f = Qt::TextDate) const; QString toString(const QString &format) const; bool setYMD(int y, int m, int d); bool setDate(int year, int month, int date); QDate addDays(int days) const; QDate addMonths(int months) const; QDate addYears(int years) const; int daysTo(const QDate &) const; bool operator==(const QDate &other) const { return jd == other.jd; } bool operator!=(const QDate &other) const { return jd != other.jd; } bool operator<(const QDate &other) const { return jd < other.jd; } bool operator<=(const QDate &other) const { return jd <= other.jd; } bool operator>(const QDate &other) const { return jd > other.jd; } bool operator>=(const QDate &other) const { return jd >= other.jd; } static QDate currentDate(); static QDate fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); static QDate fromString(const QString &s, const QString &format); static bool isValid(int y, int m, int d); static bool isLeapYear(int year); static uint gregorianToJulian(int y, int m, int d); static void julianToGregorian(uint jd, int &y, int &m, int &d); static inline QDate fromJulianDay(int jd) { QDate d; d.jd = jd; return d; } inline int toJulianDay() const { return jd; } private: uint jd; friend class QDateTime; friend class QDateTimePrivate; friend QDataStream &operator<<(QDataStream &, const QDate &); friend QDataStream &operator>>(QDataStream &, QDate &); }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QDate)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QDate"; } }; class QTime { public: QTime(): mds(NullTime) {} QTime(int h, int m, int s = 0, int ms = 0); bool isNull() const { return mds == NullTime; } bool isValid() const; int hour() const; int minute() const; int second() const; int msec() const; QString toString(Qt::DateFormat f = Qt::TextDate) const; QString toString(const QString &format) const; bool setHMS(int h, int m, int s, int ms = 0); QTime addSecs(int secs) const; int secsTo(const QTime &) const; QTime addMSecs(int ms) const; int msecsTo(const QTime &) const; bool operator==(const QTime &other) const { return mds == other.mds; } bool operator!=(const QTime &other) const { return mds != other.mds; } bool operator<(const QTime &other) const { return mds < other.mds; } bool operator<=(const QTime &other) const { return mds <= other.mds; } bool operator>(const QTime &other) const { return mds > other.mds; } bool operator>=(const QTime &other) const { return mds >= other.mds; } static QTime currentTime(); static QTime fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); static QTime fromString(const QString &s, const QString &format); static bool isValid(int h, int m, int s, int ms = 0); void start(); int restart(); int elapsed() const; private: enum TimeFlag { NullTime = -1 }; inline int ds() const { return mds == -1 ? 0 : mds; } int mds; friend class QDateTime; friend class QDateTimePrivate; friend QDataStream &operator<<(QDataStream &, const QTime &); friend QDataStream &operator>>(QDataStream &, QTime &); }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QTime)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QTime"; } }; class QDateTimePrivate; class QDateTime { public: QDateTime(); explicit QDateTime(const QDate &); QDateTime(const QDate &, const QTime &, Qt::TimeSpec spec = Qt::LocalTime); QDateTime(const QDateTime &other); ~QDateTime(); QDateTime &operator=(const QDateTime &other); bool isNull() const; bool isValid() const; QDate date() const; QTime time() const; Qt::TimeSpec timeSpec() const; uint toTime_t() const; void setDate(const QDate &date); void setTime(const QTime &time); void setTimeSpec(Qt::TimeSpec spec); void setTime_t(uint secsSince1Jan1970UTC); QString toString(Qt::DateFormat f = Qt::TextDate) const; QString toString(const QString &format) const; QDateTime addDays(int days) const; QDateTime addMonths(int months) const; QDateTime addYears(int years) const; QDateTime addSecs(int secs) const; QDateTime addMSecs(qint64 msecs) const; QDateTime toTimeSpec(Qt::TimeSpec spec) const; inline QDateTime toLocalTime() const { return toTimeSpec(Qt::LocalTime); } inline QDateTime toUTC() const { return toTimeSpec(Qt::UTC); } int daysTo(const QDateTime &) const; int secsTo(const QDateTime &) const; bool operator==(const QDateTime &other) const; inline bool operator!=(const QDateTime &other) const { return !(*this == other); } bool operator<(const QDateTime &other) const; inline bool operator<=(const QDateTime &other) const { return !(other < *this); } inline bool operator>(const QDateTime &other) const { return other < *this; } inline bool operator>=(const QDateTime &other) const { return !(*this < other); } static QDateTime currentDateTime(); static QDateTime fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); static QDateTime fromString(const QString &s, const QString &format); static QDateTime fromTime_t(uint secsSince1Jan1970UTC); # 256 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qdatetime.h" private: friend class QDateTimePrivate; void detach(); QDateTimePrivate *d; friend QDataStream &operator<<(QDataStream &, const QDateTime &); friend QDataStream &operator>>(QDataStream &, QDateTime &); }; template <> class QTypeInfo { public: enum { isComplex = (((Q_MOVABLE_TYPE) & Q_PRIMITIVE_TYPE) == 0), isStatic = (((Q_MOVABLE_TYPE) & (Q_MOVABLE_TYPE | Q_PRIMITIVE_TYPE)) == 0), isLarge = (sizeof(QDateTime)>sizeof(void*)), isPointer = false, isDummy = (((Q_MOVABLE_TYPE) & Q_DUMMY_TYPE) != 0) }; static inline const char *name() { return "QDateTime"; } }; # 287 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qdatetime.h" QDataStream &operator<<(QDataStream &, const QDate &); QDataStream &operator>>(QDataStream &, QDate &); QDataStream &operator<<(QDataStream &, const QTime &); QDataStream &operator>>(QDataStream &, QTime &); QDataStream &operator<<(QDataStream &, const QDateTime &); QDataStream &operator>>(QDataStream &, QDateTime &); QDebug operator<<(QDebug, const QDate &); QDebug operator<<(QDebug, const QTime &); QDebug operator<<(QDebug, const QDateTime &); # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qdatetime.h" 2 # 47 "generators/unix/unixmake2.cpp" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qdebug.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qalgorithms.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qhash.h" 1 # 44 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qlist.h" 1 # 45 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qmap.h" 1 # 46 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qpair.h" 1 # 47 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qtextstream.h" 1 # 48 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qstring.h" 1 # 49 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qvector.h" 1 # 50 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" 2 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qset.h" 1 # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qset.h" 1 # 42 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qset.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qhash.h" 1 # 43 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qset.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; template class QSet { typedef QHash Hash; public: inline QSet() {} inline QSet(const QSet &other) : q_hash(other.q_hash) {} inline QSet &operator=(const QSet &other) { q_hash = other.q_hash; return *this; } inline bool operator==(const QSet &other) const { return q_hash == other.q_hash; } inline bool operator!=(const QSet &other) const { return q_hash != other.q_hash; } inline int size() const { return q_hash.size(); } inline bool isEmpty() const { return q_hash.isEmpty(); } inline int capacity() const { return q_hash.capacity(); } inline void reserve(int size); inline void squeeze() { q_hash.squeeze(); } inline void detach() { q_hash.detach(); } inline bool isDetached() const { return q_hash.isDetached(); } inline void setSharable(bool sharable) { q_hash.setSharable(sharable); } inline void clear() { q_hash.clear(); } inline bool remove(const T &value) { return q_hash.remove(value) != 0; } inline bool contains(const T &value) const { return q_hash.contains(value); } class const_iterator; class iterator { typedef QHash Hash; typename Hash::iterator i; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef const T *pointer; typedef const T &reference; inline iterator() {} inline iterator(typename Hash::iterator o) : i(o) {} inline iterator(const iterator &o) : i(o.i) {} inline iterator &operator=(const iterator &o) { i = o.i; return *this; } inline const T &operator*() const { return i.key(); } inline const T *operator->() const { return &i.key(); } inline bool operator==(const iterator &o) const { return i == o.i; } inline bool operator!=(const iterator &o) const { return i != o.i; } inline bool operator==(const const_iterator &o) const { return i == reinterpret_cast(o).i; } inline bool operator!=(const const_iterator &o) const { return i != reinterpret_cast(o).i; } inline iterator &operator++() { ++i; return *this; } inline iterator operator++(int) { iterator r = *this; ++i; return r; } inline iterator &operator--() { --i; return *this; } inline iterator operator--(int) { iterator r = *this; --i; return r; } inline iterator operator+(int j) const { return i + j; } inline iterator operator-(int j) const { return i - j; } inline iterator &operator+=(int j) { i += j; return *this; } inline iterator &operator-=(int j) { i -= j; return *this; } }; class const_iterator { typedef QHash Hash; typename Hash::const_iterator i; public: typedef std::bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef T value_type; typedef const T *pointer; typedef const T &reference; inline const_iterator() {} inline const_iterator(typename Hash::const_iterator o) : i(o) {} inline const_iterator(const const_iterator &o) : i(o.i) {} inline const_iterator(const iterator &o) : i(reinterpret_cast(o).i) {} inline const_iterator &operator=(const const_iterator &o) { i = o.i; return *this; } inline const T &operator*() const { return i.key(); } inline const T *operator->() const { return &i.key(); } inline bool operator==(const const_iterator &o) const { return i == o.i; } inline bool operator!=(const const_iterator &o) const { return i != o.i; } inline const_iterator &operator++() { ++i; return *this; } inline const_iterator operator++(int) { const_iterator r = *this; ++i; return r; } inline const_iterator &operator--() { --i; return *this; } inline const_iterator operator--(int) { const_iterator r = *this; --i; return r; } inline const_iterator operator+(int j) const { return i + j; } inline const_iterator operator-(int j) const { return i - j; } inline const_iterator &operator+=(int j) { i += j; return *this; } inline const_iterator &operator-=(int j) { i -= j; return *this; } }; inline iterator begin() { return q_hash.begin(); } inline const_iterator begin() const { return q_hash.begin(); } inline const_iterator constBegin() const { return q_hash.constBegin(); } inline iterator end() { return q_hash.end(); } inline const_iterator end() const { return q_hash.end(); } inline const_iterator constEnd() const { return q_hash.constEnd(); } iterator erase(iterator i) { return q_hash.erase(reinterpret_cast(i)); } typedef iterator Iterator; typedef const_iterator ConstIterator; inline int count() const { return q_hash.count(); } inline const_iterator insert(const T &value) { return static_cast(q_hash.insert(value, QHashDummyValue())); } iterator find(const T &value) { return q_hash.find(value); } const_iterator find(const T &value) const { return q_hash.find(value); } inline const_iterator constFind(const T &value) const { return find(value); } QSet &unite(const QSet &other); QSet &intersect(const QSet &other); QSet &subtract(const QSet &other); typedef T key_type; typedef T value_type; typedef value_type *pointer; typedef const value_type *const_pointer; typedef value_type &reference; typedef const value_type &const_reference; typedef ptrdiff_t difference_type; typedef int size_type; inline bool empty() const { return isEmpty(); } inline QSet &operator<<(const T &value) { insert(value); return *this; } inline QSet &operator|=(const QSet &other) { unite(other); return *this; } inline QSet &operator|=(const T &value) { insert(value); return *this; } inline QSet &operator&=(const QSet &other) { intersect(other); return *this; } inline QSet &operator&=(const T &value) { QSet result; if (contains(value)) result.insert(value); return (*this = result); } inline QSet &operator+=(const QSet &other) { unite(other); return *this; } inline QSet &operator+=(const T &value) { insert(value); return *this; } inline QSet &operator-=(const QSet &other) { subtract(other); return *this; } inline QSet &operator-=(const T &value) { remove(value); return *this; } inline QSet operator|(const QSet &other) const { QSet result = *this; result |= other; return result; } inline QSet operator&(const QSet &other) const { QSet result = *this; result &= other; return result; } inline QSet operator+(const QSet &other) const { QSet result = *this; result += other; return result; } inline QSet operator-(const QSet &other) const { QSet result = *this; result -= other; return result; } inline QSet operator|(const QSet &other) { QSet result = *this; result |= other; return result; } inline QSet operator&(const QSet &other) { QSet result = *this; result &= other; return result; } inline QSet operator+(const QSet &other) { QSet result = *this; result += other; return result; } inline QSet operator-(const QSet &other) { QSet result = *this; result -= other; return result; } QList toList() const; inline QList values() const { return toList(); } static QSet fromList(const QList &list); private: Hash q_hash; }; template inline void QSet::reserve(int asize) { q_hash.reserve(asize); } template inline QSet &QSet::unite(const QSet &other) { QSet copy(other); typename QSet::const_iterator i = copy.constEnd(); while (i != copy.constBegin()) { --i; insert(*i); } return *this; } template inline QSet &QSet::intersect(const QSet &other) { QSet copy1(*this); QSet copy2(other); typename QSet::const_iterator i = copy1.constEnd(); while (i != copy1.constBegin()) { --i; if (!copy2.contains(*i)) remove(*i); } return *this; } template inline QSet &QSet::subtract(const QSet &other) { QSet copy1(*this); QSet copy2(other); typename QSet::const_iterator i = copy1.constEnd(); while (i != copy1.constBegin()) { --i; if (copy2.contains(*i)) remove(*i); } return *this; } template QList QSet::toList() const { QList result; typename QSet::const_iterator i = constBegin(); while (i != constEnd()) { result.append(*i); ++i; } return result; } template QSet QList::toSet() const { QSet result; result.reserve(size()); for (int i = 0; i < size(); ++i) result.insert(at(i)); return result; } template QSet QSet::fromList(const QList &list) { return list.toSet(); } template QList QList::fromSet(const QSet &set) { return set.toList(); } template class QSetIterator { typedef typename QSet::const_iterator const_iterator; QSet c; const_iterator i; public: inline QSetIterator(const QSet &container) : c(container), i(c.constBegin()) {} inline QSetIterator &operator=(const QSet &container) { c = container; i = c.constBegin(); return *this; } inline void toFront() { i = c.constBegin(); } inline void toBack() { i = c.constEnd(); } inline bool hasNext() const { return i != c.constEnd(); } inline const T &next() { return *i++; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return i != c.constBegin(); } inline const T &previous() { return *--i; } inline const T &peekPrevious() const { const_iterator p = i; return *--p; } inline bool findNext(const T &t) { while (i != c.constEnd()) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (i != c.constBegin()) if (*(--i) == t) return true; return false; } }; template class QMutableSetIterator { typedef typename QSet::iterator iterator; QSet *c; iterator i, n; inline bool item_exists() const { return n != c->constEnd(); } public: inline QMutableSetIterator(QSet &container) : c(&container) { c->setSharable(false); i = c->begin(); n = c->end(); } inline ~QMutableSetIterator() { c->setSharable(true); } inline QMutableSetIterator &operator=(QSet &container) { c->setSharable(true); c = &container; c->setSharable(false); i = c->begin(); n = c->end(); return *this; } inline void toFront() { i = c->begin(); n = c->end(); } inline void toBack() { i = c->end(); n = i; } inline bool hasNext() const { return c->constEnd() != i; } inline const T &next() { n = i++; return *n; } inline const T &peekNext() const { return *i; } inline bool hasPrevious() const { return c->constBegin() != i; } inline const T &previous() { n = --i; return *n; } inline const T &peekPrevious() const { iterator p = i; return *--p; } inline void remove() { if (c->constEnd() != n) { i = c->erase(n); n = c->end(); } } inline const T &value() const { do {if(!(item_exists()))qt_assert("item_exists()","/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/tools/qset.h",333);} while (0); return *n; } inline bool findNext(const T &t) { while (c->constEnd() != (n = i)) if (*i++ == t) return true; return false; } inline bool findPrevious(const T &t) { while (c->constBegin() != i) if (*(n = --i) == t) return true; n = c->end(); return false; } }; # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qset.h" 2 # 51 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" 2 typedef QtValidLicenseForCoreModule QtCoreModule; class QDebug { struct Stream { Stream(QIODevice *device) : ts(device), ref(1), type(QtDebugMsg), space(true), message_output(false) {} Stream(QString *string) : ts(string, QIODevice::WriteOnly), ref(1), type(QtDebugMsg), space(true), message_output(false) {} Stream(QtMsgType t) : ts(&buffer, QIODevice::WriteOnly), ref(1), type(t), space(true), message_output(true) {} QTextStream ts; QString buffer; int ref; QtMsgType type; bool space; bool message_output; } *stream; public: inline QDebug(QIODevice *device) : stream(new Stream(device)) {} inline QDebug(QString *string) : stream(new Stream(string)) {} inline QDebug(QtMsgType t) : stream(new Stream(t)) {} inline QDebug(const QDebug &o):stream(o.stream) { ++stream->ref; } inline QDebug &operator=(const QDebug &other); inline ~QDebug() { if (!--stream->ref) { if(stream->message_output) qt_message_output(stream->type, stream->buffer.toLocal8Bit().data()); delete stream; } } inline QDebug &space() { stream->space = true; stream->ts << " "; return *this; } inline QDebug &nospace() { stream->space = false; return *this; } inline QDebug &maybeSpace() { if (stream->space) stream->ts << " "; return *this; } inline QDebug &operator<<(QChar t) { stream->ts << "\'" << t << "\'"; return maybeSpace(); } inline QDebug &operator<<(bool t) { stream->ts << (t ? "true" : "false"); return maybeSpace(); } inline QDebug &operator<<(char t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(signed short t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(unsigned short t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(signed int t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(unsigned int t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(signed long t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(unsigned long t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(qint64 t) { stream->ts << QString::number(t); return maybeSpace(); } inline QDebug &operator<<(quint64 t) { stream->ts << QString::number(t); return maybeSpace(); } inline QDebug &operator<<(float t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(double t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(const char* t) { stream->ts << QString::fromAscii(t); return maybeSpace(); } inline QDebug &operator<<(const QString & t) { stream->ts << "\"" << t << "\""; return maybeSpace(); } inline QDebug &operator<<(const QLatin1String &t) { stream->ts << "\"" << t.latin1() << "\""; return maybeSpace(); } inline QDebug &operator<<(const QByteArray & t) { stream->ts << "\"" << t << "\""; return maybeSpace(); } inline QDebug &operator<<(const void * t) { stream->ts << t; return maybeSpace(); } inline QDebug &operator<<(QTextStreamFunction f) { stream->ts << f; return *this; } inline QDebug &operator<<(QTextStreamManipulator m) { stream->ts << m; return *this; } }; inline QDebug qWarning() { return QDebug(QtWarningMsg); } inline QDebug qCritical() { return QDebug(QtCriticalMsg); } inline QDebug &QDebug::operator=(const QDebug &other) { if (this != &other) { QDebug copy(other); qSwap(stream, copy.stream); } return *this; } template inline QDebug operator<<(QDebug debug, const QList &list) { debug.nospace() << "("; for (typename QList::size_type i = 0; i < list.count(); ++i) { if (i) debug << ", "; debug << list.at(i); } debug << ")"; return debug.space(); } template inline QDebug operator<<(QDebug debug, const QVector &vec) { debug.nospace() << "QVector"; return operator<<(debug, vec.toList()); } template inline QDebug operator<<(QDebug debug, const QMap &map) { debug.nospace() << "QMap("; for (typename QMap::const_iterator it = map.constBegin(); it != map.constEnd(); ++it) { debug << "(" << it.key() << ", " << it.value() << ")"; } debug << ")"; return debug.space(); } template inline QDebug operator<<(QDebug debug, const QHash &hash) { debug.nospace() << "QHash("; for (typename QHash::const_iterator it = hash.constBegin(); it != hash.constEnd(); ++it) debug << "(" << it.key() << ", " << it.value() << ")"; debug << ")"; return debug.space(); } template inline QDebug operator<<(QDebug debug, const QPair &pair) { debug.nospace() << "QPair(" << pair.first << "," << pair.second << ")"; return debug.space(); } template inline QDebug operator<<(QDebug debug, const QSet &set) { debug.nospace() << "QSet"; return operator<<(debug, set.toList()); } inline QDebug qDebug() { return QDebug(QtDebugMsg); } # 244 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/../../src/corelib/io/qdebug.h" # 1 "/var/tmp/portage/x11-libs/qt-4.3.2/work/qt-x11-opensource-src-4.3.2/include/QtCore/qdebug.h" 2 # 48 "generators/unix/unixmake2.cpp" 2 # 1 "/usr/include/time.h" 1 3 4 # 9 "/usr/include/time.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/time.h" 1 3 4 # 29 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 30 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 extern "C" { # 40 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 # 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/stddef.h" 1 3 4 # 40 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 9 "/usr/include/bits/time.h" 3 4 # 1 "/usr/include/gentoo-multilib/amd64/bits/time.h" 1 3 4 # 9 "/usr/include/bits/time.h" 2 3 4 # 44 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 # 132 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; __const char *tm_zone; }; # 162 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct sigevent; # 181 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 extern clock_t clock (void) throw (); extern time_t time (time_t *__timer) throw (); extern double difftime (time_t __time1, time_t __time0) throw () __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) throw (); extern size_t strftime (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp) throw (); extern char *strptime (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp) throw (); # 1 "/usr/include/xlocale.h" 1 3 4 # 217 "/usr/include/gentoo-multilib/amd64/time.h" 2 3 4 extern size_t strftime_l (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp, __locale_t __loc) throw (); extern char *strptime_l (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp, __locale_t __loc) throw (); extern struct tm *gmtime (__const time_t *__timer) throw (); extern struct tm *localtime (__const time_t *__timer) throw (); extern struct tm *gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) throw (); extern struct tm *localtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) throw (); extern char *asctime (__const struct tm *__tp) throw (); extern char *ctime (__const time_t *__timer) throw (); extern char *asctime_r (__const struct tm *__restrict __tp, char *__restrict __buf) throw (); extern char *ctime_r (__const time_t *__restrict __timer, char *__restrict __buf) throw (); extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) throw (); extern int daylight; extern long int timezone; extern int stime (__const time_t *__when) throw (); # 312 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 extern time_t timegm (struct tm *__tp) throw (); extern time_t timelocal (struct tm *__tp) throw (); extern int dysize (int __year) throw () __attribute__ ((__const__)); # 327 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) throw (); extern int clock_nanosleep (clockid_t __clock_id, int __flags, __const struct timespec *__req, struct timespec *__rem); extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) throw (); extern int timer_delete (timer_t __timerid) throw (); extern int timer_settime (timer_t __timerid, int __flags, __const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) throw (); extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) throw (); extern int timer_getoverrun (timer_t __timerid) throw (); # 389 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 extern int getdate_err; # 398 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 extern struct tm *getdate (__const char *__string); # 412 "/usr/include/gentoo-multilib/amd64/time.h" 3 4 extern int getdate_r (__const char *__restrict __string, struct tm *__restrict __resbufp); } # 9 "/usr/include/time.h" 2 3 4 # 49 "generators/unix/unixmake2.cpp" 2 UnixMakefileGenerator::UnixMakefileGenerator() : MakefileGenerator(), init_flag(false), include_deps(false) { } void UnixMakefileGenerator::writePrlFile(QTextStream &t) { MakefileGenerator::writePrlFile(t); if(project->isActiveConfig("create_libtool") && project->first("TEMPLATE") == "lib") { if(project->isActiveConfig("compile_libtool")) warn_msg(WarnLogic, "create_libtool specified with compile_libtool can lead to conflicting .la\n" "formats, create_libtool has been disabled\n"); else writeLibtoolFile(); } if(project->isActiveConfig("create_pc") && project->first("TEMPLATE") == "lib") writePkgConfigFile(); } bool UnixMakefileGenerator::writeMakefile(QTextStream &t) { writeHeader(t); if(!project->values("QMAKE_FAILED_REQUIREMENTS").isEmpty()) { t << "QMAKE = " << (project->isEmpty("QMAKE_QMAKE") ? QString("qmake") : var("QMAKE_QMAKE")) << endl; QStringList &qut = project->values("QMAKE_EXTRA_TARGETS"); for(QStringList::ConstIterator it = qut.begin(); it != qut.end(); ++it) t << *it << " "; t << "first all clean install distclean uninstall qmake_all:" << "\n\t" << "@echo \"Some of the required modules (" << var("QMAKE_FAILED_REQUIREMENTS") << ") are not available.\"" << "\n\t" << "@echo \"Skipped.\"" << endl << endl; writeMakeQmake(t); if(project->isEmpty("QMAKE_NOFORCE")) t << "FORCE:" << endl << endl; return true; } if (project->values("TEMPLATE").first() == "app" || project->values("TEMPLATE").first() == "lib") { if(Option::mkfile::do_stub_makefile && MakefileGenerator::writeStubMakefile(t)) return true; writeMakeParts(t); return MakefileGenerator::writeMakefile(t); } else if(project->values("TEMPLATE").first() == "subdirs") { MakefileGenerator::writeSubDirs(t); return true; } return false; } void UnixMakefileGenerator::writeMakeParts(QTextStream &t) { QString deps = fileFixify(Option::output.fileName()), target_deps, prl; bool do_incremental = (project->isActiveConfig("incremental") && !project->values("QMAKE_INCREMENTAL").isEmpty() && (!project->values("QMAKE_APP_FLAG").isEmpty() || (!project->isActiveConfig("staticlib")))), src_incremental=false; t << "####### Compiler, tools and options" << endl << endl; t << "CC = " << var("QMAKE_CC") << endl; t << "CXX = " << var("QMAKE_CXX") << endl; t << "DEFINES = " << varGlue("PRL_EXPORT_DEFINES","-D"," -D"," ") << varGlue("DEFINES","-D"," -D","") << endl; t << "CFLAGS = " << var("QMAKE_CFLAGS") << " $(DEFINES)" << endl; t << "CXXFLAGS = " << var("QMAKE_CXXFLAGS") << " $(DEFINES)" << endl; t << "INCPATH = " << "-I" << specdir(); if(!project->isActiveConfig("no_include_pwd")) { QString pwd = escapeFilePath(fileFixify(qmake_getpwd())); if(pwd.isEmpty()) pwd = "."; t << " -I" << pwd; } { const QStringList &incs = project->values("INCLUDEPATH"); for(int i = 0; i < incs.size(); ++i) { QString inc = escapeFilePath(incs.at(i)); if(!inc.isEmpty()) t << " " << "-I" << inc; } } if(!project->isEmpty("QMAKE_FRAMEWORKPATH_FLAGS")) t << " " << var("QMAKE_FRAMEWORKPATH_FLAGS"); t << endl; if(!project->isActiveConfig("staticlib")) { t << "LINK = " << var("QMAKE_LINK") << endl; t << "LFLAGS = " << var("QMAKE_LFLAGS") << endl; t << "LIBS = " << "$(SUBLIBS) " << var("QMAKE_FRAMEWORKDIR_FLAGS") << " " << var("QMAKE_LIBDIR_FLAGS") << " " << var("QMAKE_LIBS") << endl; } t << "AR = " << var("QMAKE_AR") << endl; t << "RANLIB = " << var("QMAKE_RANLIB") << endl; t << "QMAKE = " << (project->isEmpty("QMAKE_QMAKE") ? QString("qmake") : var("QMAKE_QMAKE")) << endl; t << "TAR = " << var("QMAKE_TAR") << endl; t << "COMPRESS = " << var("QMAKE_GZIP") << endl; if(project->isActiveConfig("compile_libtool")) t << "LIBTOOL = " << var("QMAKE_LIBTOOL") << endl; t << "COPY = " << var("QMAKE_COPY") << endl; t << "SED = " << var("QMAKE_STREAM_EDITOR") << endl; t << "COPY_FILE = " << var("QMAKE_COPY_FILE") << endl; t << "COPY_DIR = " << var("QMAKE_COPY_DIR") << endl; t << "INSTALL_FILE = " << var("QMAKE_INSTALL_FILE") << endl; t << "INSTALL_DIR = " << var("QMAKE_INSTALL_DIR") << endl; t << "INSTALL_PROGRAM = " << var("QMAKE_INSTALL_PROGRAM") << endl; t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl; t << "SYMLINK = " << var("QMAKE_SYMBOLIC_LINK") << endl; t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl; t << "MOVE = " << var("QMAKE_MOVE") << endl; t << "CHK_DIR_EXISTS= " << var("QMAKE_CHK_DIR_EXISTS") << endl; t << "MKDIR = " << var("QMAKE_MKDIR") << endl; if(!project->isEmpty("QMAKE_MACOSX_DEPLOYMENT_TARGET")) t << "export MACOSX_DEPLOYMENT_TARGET = " << project->first("QMAKE_MACOSX_DEPLOYMENT_TARGET") << endl; t << endl; t << "####### Output directory" << endl << endl; if (! project->values("OBJECTS_DIR").isEmpty()) t << "OBJECTS_DIR = " << var("OBJECTS_DIR") << endl; else t << "OBJECTS_DIR = ./" << endl; t << endl; t << "####### Files" << endl << endl; t << "SOURCES = " << valList(escapeFilePaths(project->values("SOURCES"))) << " " << valList(escapeFilePaths(project->values("GENERATED_SOURCES"))) << endl; if(do_incremental) { QStringList &objs = project->values("OBJECTS"), &incrs = project->values("QMAKE_INCREMENTAL"), incrs_out; t << "OBJECTS = "; for(QStringList::Iterator objit = objs.begin(); objit != objs.end(); ++objit) { bool increment = false; for(QStringList::Iterator incrit = incrs.begin(); incrit != incrs.end(); ++incrit) { if((*objit).indexOf(QRegExp((*incrit), Qt::CaseSensitive, QRegExp::Wildcard)) != -1) { increment = true; incrs_out.append((*objit)); break; } } if(!increment) t << "\\\n\t\t" << (*objit); } if(incrs_out.count() == objs.count()) { t << escapeFilePaths(incrs_out).join(" \\\n\t\t") << endl; } else if(!incrs_out.count()) { t << endl; } else { src_incremental = true; t << endl; t << "INCREMENTAL_OBJECTS = " << escapeFilePaths(incrs_out).join(" \\\n\t\t") << endl; } } else { t << "OBJECTS = " << valList(escapeFilePaths(project->values("OBJECTS"))) << endl; } if(do_incremental && !src_incremental) do_incremental = false; t << "DIST = " << valList(fileFixify(project->values("DISTFILES"))) << endl; t << "QMAKE_TARGET = " << var("QMAKE_ORIG_TARGET") << endl; t << "DESTDIR = " << var("DESTDIR") << endl; if(project->isActiveConfig("compile_libtool")) t << "TARGETL = " << var("TARGET_la") << endl; t << "TARGET = " << escapeFilePath(var("TARGET")) << endl; if(project->isActiveConfig("plugin")) { t << "TARGETD = " << escapeFilePath(var("TARGET")) << endl; } else if(!project->isActiveConfig("staticlib") && project->values("QMAKE_APP_FLAG").isEmpty()) { t << "TARGETA = " << escapeFilePath(var("TARGETA")) << endl; if(!project->isEmpty("QMAKE_BUNDLE")) { t << "TARGETD = " << escapeFilePath(var("TARGET_x.y")) << endl; t << "TARGET0 = " << escapeFilePath(var("TARGET_")) << endl; } else if(project->isEmpty("QMAKE_HPUX_SHLIB")) { t << "TARGETD = " << escapeFilePath(var("TARGET_x.y.z")) << endl; t << "TARGET0 = " << escapeFilePath(var("TARGET_")) << endl; t << "TARGET1 = " << escapeFilePath(var("TARGET_x")) << endl; t << "TARGET2 = " << escapeFilePath(var("TARGET_x.y")) << endl; } else { t << "TARGETD = " << escapeFilePath(var("TARGET_x")) << endl; t << "TARGET0 = " << escapeFilePath(var("TARGET_")) << endl; } } writeExtraCompilerVariables(t); writeExtraVariables(t); t << endl; QStringList &qeui = project->values("QMAKE_EXTRA_INCLUDES"); QStringList::Iterator it; for(it = qeui.begin(); it != qeui.end(); ++it) t << "include " << (*it) << endl; t << "first: all" << endl; t << "####### Implicit rules" << endl << endl; t << ".SUFFIXES: " << Option::obj_ext; for(QStringList::Iterator cit = Option::c_ext.begin(); cit != Option::c_ext.end(); ++cit) t << " " << (*cit); for(QStringList::Iterator cppit = Option::cpp_ext.begin(); cppit != Option::cpp_ext.end(); ++cppit) t << " " << (*cppit); t << endl << endl; for(QStringList::Iterator cppit = Option::cpp_ext.begin(); cppit != Option::cpp_ext.end(); ++cppit) t << (*cppit) << Option::obj_ext << ":\n\t" << var("QMAKE_RUN_CXX_IMP") << endl << endl; for(QStringList::Iterator cit = Option::c_ext.begin(); cit != Option::c_ext.end(); ++cit) t << (*cit) << Option::obj_ext << ":\n\t" << var("QMAKE_RUN_CC_IMP") << endl << endl; if(include_deps) { QString cmd=var("QMAKE_CFLAGS_DEPS") + " "; cmd += varGlue("DEFINES","-D"," -D","") + varGlue("PRL_EXPORT_DEFINES"," -D"," -D",""); if(!project->isEmpty("QMAKE_ABSOLUTE_SOURCE_PATH")) cmd += " -I" + project->first("QMAKE_ABSOLUTE_SOURCE_PATH") + " "; cmd += " $(INCPATH) " + varGlue("DEPENDPATH", "-I", " -I", ""); QString odir; if(!project->values("OBJECTS_DIR").isEmpty()) odir = project->first("OBJECTS_DIR"); t << "###### Dependencies" << endl << endl; t << odir << ".deps/%.d: %.cpp\n\t"; if(project->isActiveConfig("echo_depend_creation")) t << "@echo Creating depend for $<" << "\n\t"; t << mkdir_p_asstring("$(@D)") << "\n\t" << "@$(CXX) " << cmd << " $< | sed \"s,^\\($(*F).o\\):," << odir << "\\1:,g\" >$@" << endl << endl; t << odir << ".deps/%.d: %.c\n\t"; if(project->isActiveConfig("echo_depend_creation")) t << "@echo Creating depend for $<" << "\n\t"; t << mkdir_p_asstring("$(@D)") << "\n\t" << "@$(CC) " << cmd << " $< | sed \"s,^\\($(*F).o\\):," << odir << "\\1:,g\" >$@" << endl << endl; QString src[] = { "SOURCES", "GENERATED_SOURCES", QString() }; for(int x = 0; !src[x].isNull(); x++) { QStringList &l = project->values(src[x]); for(QStringList::Iterator it = l.begin(); it != l.end(); ++it) { if(!(*it).isEmpty()) { QString d_file; for(QStringList::Iterator cit = Option::c_ext.begin(); cit != Option::c_ext.end(); ++cit) { if((*it).endsWith((*cit))) { d_file = (*it).left((*it).length() - (*cit).length()); break; } } if(d_file.isEmpty()) { for(QStringList::Iterator cppit = Option::cpp_ext.begin(); cppit != Option::cpp_ext.end(); ++cppit) { if((*it).endsWith((*cppit))) { d_file = (*it).left((*it).length() - (*cppit).length()); break; } } } if(!d_file.isEmpty()) { d_file = odir + ".deps/" + d_file + ".d"; QStringList deps = findDependencies((*it)).filter(QRegExp(Option::cpp_moc_ext + "$")); if(!deps.isEmpty()) t << d_file << ": " << deps.join(" ") << endl; t << "-include " << d_file << endl; project->values("QMAKE_DISTCLEAN") += d_file; } } } } } t << "####### Build rules" << endl << endl; if(!project->values("SUBLIBS").isEmpty()) { QString libdir = "tmp/"; if(!project->isEmpty("SUBLIBS_DIR")) libdir = project->first("SUBLIBS_DIR"); t << "SUBLIBS = "; QStringList &l = project->values("SUBLIBS"); for(QStringList::Iterator it = l.begin(); it != l.end(); ++it) t << libdir << "lib" << (*it) << ".a "; t << endl << endl; } if(project->isActiveConfig("depend_prl") && !project->isEmpty("QMAKE_PRL_INTERNAL_FILES")) { QStringList &l = project->values("QMAKE_PRL_INTERNAL_FILES"); QStringList::Iterator it; for(it = l.begin(); it != l.end(); ++it) { QMakeMetaInfo libinfo; if(libinfo.readLib((*it)) && !libinfo.isEmpty("QMAKE_PRL_BUILD_DIR")) { QString dir; int slsh = (*it).lastIndexOf(Option::dir_sep); if(slsh != -1) dir = (*it).left(slsh + 1); QString targ = dir + libinfo.first("QMAKE_PRL_TARGET"); target_deps += " " + targ; t << targ << ":" << "\n\t" << "@echo \"Creating '" << targ << "'\"" << "\n\t" << "(cd " << libinfo.first("QMAKE_PRL_BUILD_DIR") << ";" << "$(MAKE))" << endl; } } } if(!project->values("QMAKE_APP_FLAG").isEmpty()) { QString destdir = project->first("DESTDIR"); if(!project->isEmpty("QMAKE_BUNDLE")) { QString bundle_loc = project->first("QMAKE_BUNDLE_LOCATION"); if(!bundle_loc.isEmpty() && !bundle_loc.startsWith("/")) bundle_loc.prepend("/"); if(!bundle_loc.endsWith("/")) bundle_loc += "/"; destdir += project->first("QMAKE_BUNDLE") + bundle_loc; } if(do_incremental) { QString incr_target = var("TARGET") + "_incremental"; if(incr_target.indexOf(Option::dir_sep) != -1) incr_target = incr_target.right(incr_target.length() - (incr_target.lastIndexOf(Option::dir_sep) + 1)); QString incr_deps, incr_objs; if(project->first("QMAKE_INCREMENTAL_STYLE") == "ld") { QString incr_target_dir = var("OBJECTS_DIR") + incr_target + Option::obj_ext; t << incr_target_dir << ": $(OBJECTS)" << "\n\t" << "ld -r -o "<< incr_target_dir << " $(OBJECTS)" << endl; deps.prepend(incr_target_dir + " "); incr_deps = "$(INCREMENTAL_OBJECTS)"; if(!incr_objs.isEmpty()) incr_objs += " "; incr_objs += incr_target_dir; } else { QString incr_target_dir = var("DESTDIR") + "lib" + incr_target + "." + project->values("QMAKE_EXTENSION_SHLIB").first(); QString incr_lflags = var("QMAKE_LFLAGS_SHLIB") + " "; if(project->isActiveConfig("debug")) incr_lflags += var("QMAKE_LFLAGS_DEBUG"); else incr_lflags += var("QMAKE_LFLAGS_RELEASE"); t << incr_target_dir << ": $(INCREMENTAL_OBJECTS)" << "\n\t"; if(!destdir.isEmpty()) t << "\n\t" << mkdir_p_asstring(destdir) << "\n\t"; t << "$(LINK) " << incr_lflags << " -o "<< incr_target_dir << " $(INCREMENTAL_OBJECTS)" << endl; if(!destdir.isEmpty()) { if(!incr_objs.isEmpty()) incr_objs += " "; incr_objs += "-L" + destdir; } else { if(!incr_objs.isEmpty()) incr_objs += " "; incr_objs += "-L" + qmake_getpwd(); } if(!incr_objs.isEmpty()) incr_objs += " "; incr_objs += " -l" + incr_target; deps.prepend(incr_target_dir + " "); incr_deps = "$(OBJECTS)"; } t << "all: " << deps << " " << valGlue(escapeFilePaths(project->values("ALL_DEPS")),""," "," ") << "$(TARGET)" << endl << endl; t << var("TARGET") << ": " << var("PRE_TARGETDEPS") << " " << incr_deps << " " << target_deps << " " << var("POST_TARGETDEPS") << "\n\t"; if(!destdir.isEmpty()) t << "\n\t" << mkdir_p_asstring(destdir) << "\n\t"; if(!project->isEmpty("QMAKE_PRE_LINK")) t << var("QMAKE_PRE_LINK") << "\n\t"; t << "$(LINK) $(LFLAGS) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS)"; if(!project->isEmpty("QMAKE_POST_LINK")) t << "\n\t" << var("QMAKE_POST_LINK"); t << endl << endl; } else { t << "all: " << deps << " " << valGlue(escapeFilePaths(project->values("ALL_DEPS")),""," "," ") << "$(TARGET)" << endl << endl; t << "$(TARGET): " << var("PRE_TARGETDEPS") << " $(OBJECTS) " << target_deps << " " << var("POST_TARGETDEPS") << "\n\t"; if(!destdir.isEmpty()) t << mkdir_p_asstring(destdir) << "\n\t"; if(!project->isEmpty("QMAKE_PRE_LINK")) t << var("QMAKE_PRE_LINK") << "\n\t"; t << "$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)"; if(!project->isEmpty("QMAKE_POST_LINK")) t << "\n\t" << var("QMAKE_POST_LINK"); t << endl << endl; } } else if(!project->isActiveConfig("staticlib")) { QString destdir = unescapeFilePath(project->first("DESTDIR")), incr_deps; if(!project->isEmpty("QMAKE_BUNDLE")) { QString bundle_loc = project->first("QMAKE_BUNDLE_LOCATION"); if(!bundle_loc.isEmpty() && !bundle_loc.startsWith("/")) bundle_loc.prepend("/"); if(!bundle_loc.endsWith("/")) bundle_loc += "/"; destdir += project->first("QMAKE_BUNDLE") + bundle_loc; } destdir = escapeFilePath(destdir); if(do_incremental) { QString s_ext = project->values("QMAKE_EXTENSION_SHLIB").first(); QString incr_target = var("QMAKE_ORIG_TARGET").replace( QRegExp("\\." + s_ext), "").replace(QRegExp("^lib"), "") + "_incremental"; if(incr_target.indexOf(Option::dir_sep) != -1) incr_target = incr_target.right(incr_target.length() - (incr_target.lastIndexOf(Option::dir_sep) + 1)); incr_target = escapeFilePath(incr_target); if(project->first("QMAKE_INCREMENTAL_STYLE") == "ld") { QString incr_target_dir = escapeFilePath(var("OBJECTS_DIR") + incr_target + Option::obj_ext); const QString link_deps = "$(OBJECTS) "; t << incr_target_dir << ": " << link_deps << "\n\t" << "ld -r -o " << incr_target_dir << " " << link_deps << endl; QStringList &cmd = project->values("QMAKE_LINK_SHLIB_CMD"); cmd.first().replace("$(OBJECTS) ", "$(INCREMENTAL_OBJECTS)"); cmd.append(incr_target_dir); deps.prepend(incr_target_dir + " "); incr_deps = "$(INCREMENTAL_OBJECTS)"; } else { QString incr_target_dir = escapeFilePath(destdir + "lib" + incr_target + "." + s_ext); QString incr_lflags = var("QMAKE_LFLAGS_SHLIB") + " "; if(!project->isEmpty("QMAKE_LFLAGS_INCREMENTAL")) incr_lflags += var("QMAKE_LFLAGS_INCREMENTAL") + " "; if(project->isActiveConfig("debug")) incr_lflags += var("QMAKE_LFLAGS_DEBUG"); else incr_lflags += var("QMAKE_LFLAGS_RELEASE"); t << incr_target_dir << ": $(INCREMENTAL_OBJECTS)" << "\n\t"; if(!destdir.isEmpty()) t << mkdir_p_asstring(destdir) << "\n\t"; t << "$(LINK) " << incr_lflags << " -o "<< incr_target_dir << " $(INCREMENTAL_OBJECTS)" << endl; QStringList &cmd = project->values("QMAKE_LINK_SHLIB_CMD"); if(!destdir.isEmpty()) cmd.append(" -L" + destdir); cmd.append(" -l" + incr_target); deps.prepend(incr_target_dir + " "); incr_deps = "$(OBJECTS)"; } t << "all: " << " " << deps << " " << valGlue(escapeFilePaths(project->values("ALL_DEPS")),""," "," ") << " " << destdir << "$(TARGET)" << endl << endl; t << destdir << "$(TARGET): " << var("PRE_TARGETDEPS") << " " << incr_deps << " $(SUBLIBS) " << target_deps << " " << var("POST_TARGETDEPS"); } else { t << "all: " << deps << " " << valGlue(escapeFilePaths(project->values("ALL_DEPS")),""," "," ") << " " << destdir << "$(TARGET)" << endl << endl; t << destdir << "$(TARGET): " << var("PRE_TARGETDEPS") << " $(OBJECTS) $(SUBLIBS) $(OBJCOMP) " << target_deps << " " << var("POST_TARGETDEPS"); } if(!destdir.isEmpty()) t << "\n\t" << mkdir_p_asstring(destdir); if(!project->isEmpty("QMAKE_PRE_LINK")) t << "\n\t" << var("QMAKE_PRE_LINK"); if(project->isActiveConfig("compile_libtool")) { t << "\n\t" << var("QMAKE_LINK_SHLIB_CMD"); } else if(project->isActiveConfig("plugin")) { t << "\n\t" << "-$(DEL_FILE) $(TARGET)" << "\n\t" << var("QMAKE_LINK_SHLIB_CMD"); if(!destdir.isEmpty()) t << "\n\t" << "-$(MOVE) $(TARGET) " << destdir; if(!project->isEmpty("QMAKE_POST_LINK")) t << "\n\t" << var("QMAKE_POST_LINK") << "\n\t"; t << endl << endl; } else if(!project->isEmpty("QMAKE_BUNDLE")) { t << "\n\t" << "-$(DEL_FILE) $(TARGET) $(TARGET0) $(DESTDIR)$(TARGET0)" << "\n\t" << var("QMAKE_LINK_SHLIB_CMD") << "\n\t" << mkdir_p_asstring("\"`dirname $(DESTDIR)$(TARGETD)`\"", false) << "\n\t" << "-$(MOVE) $(TARGET) $(DESTDIR)$(TARGETD)" << "\n\t" << mkdir_p_asstring("\"`dirname $(DESTDIR)$(TARGET0)`\"", false) << "\n\t" << varGlue("QMAKE_LN_SHLIB","-"," "," Versions/" + project->first("QMAKE_FRAMEWORK_VERSION") + "/$(TARGET) $(DESTDIR)$(TARGET0)") << "\n\t" << "-$(DEL_FILE) " << destdir << "Versions/Current" << "\n\t" << varGlue("QMAKE_LN_SHLIB","-"," ", " " + project->first("QMAKE_FRAMEWORK_VERSION") + " " + destdir + "Versions/Current") << "\n\t"; if(!project->isEmpty("QMAKE_POST_LINK")) t << "\n\t" << var("QMAKE_POST_LINK"); t << endl << endl; } else if(project->isEmpty("QMAKE_HPUX_SHLIB")) { t << "\n\t" << "-$(DEL_FILE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)" << "\n\t" << var("QMAKE_LINK_SHLIB_CMD") << "\n\t"; t << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET0)") << "\n\t" << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET1)") << "\n\t" << varGlue("QMAKE_LN_SHLIB","-"," "," $(TARGET) $(TARGET2)"); if(!destdir.isEmpty()) t << "\n\t" << "-$(DEL_FILE) " << destdir << "$(TARGET)\n\t" << "-$(DEL_FILE) " << destdir << "$(TARGET0)\n\t" << "-$(DEL_FILE) " << destdir << "$(TARGET1)\n\t" << "-$(DEL_FILE) " << destdir << "$(TARGET2)\n\t" << "-$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) " << destdir; if(!project->isEmpty("QMAKE_POST_LINK")) t << "\n\t" << var("QMAKE_POST_LINK"); t << endl << endl; } else { t << "\n\t" << "-$(DEL_FILE) $(TARGET) $(TARGET0)" << "\n\t" << var("QMAKE_LINK_SHLIB_CMD") << "\n\t"; t << varGlue("QMAKE_LN_SHLIB",""," "," $(TARGET) $(TARGET0)"); if(!destdir.isEmpty()) t << "\n\t" << "-$(DEL_FILE) " << destdir << "$(TARGET)\n\t" << "-$(DEL_FILE) " << destdir << "$(TARGET0)\n\t" << "-$(MOVE) $(TARGET) $(TARGET0) " << destdir; if(!project->isEmpty("QMAKE_POST_LINK")) t << "\n\t" << var("QMAKE_POST_LINK"); t << endl << endl; } t << endl << endl; if (! project->isActiveConfig("plugin")) { t << "staticlib: $(TARGETA)" << endl << endl; t << "$(TARGETA): " << var("PRE_TARGETDEPS") << " $(OBJECTS) $(OBJCOMP)"; if(do_incremental) t << " $(INCREMENTAL_OBJECTS)"; t << " " << var("POST_TARGETDEPS") << "\n\t" << "-$(DEL_FILE) $(TARGETA) " << "\n\t" << var("QMAKE_AR_CMD"); if(do_incremental) t << " $(INCREMENTAL_OBJECTS)"; if(!project->isEmpty("QMAKE_RANLIB")) t << "\n\t" << "$(RANLIB) $(TARGETA)"; t << endl << endl; } } else { QString destdir = project->first("DESTDIR"); t << "all: " << deps << " " << valGlue(escapeFilePaths(project->values("ALL_DEPS")),""," "," ") << destdir << "$(TARGET) " << varGlue("QMAKE_AR_SUBLIBS", destdir, " " + destdir, "") << "\n\n" << "staticlib: " << destdir << "$(TARGET)" << "\n\n"; if(project->isEmpty("QMAKE_AR_SUBLIBS")) { t << destdir << "$(TARGET): " << var("PRE_TARGETDEPS") << " $(OBJECTS) $(OBJCOMP) " << var("POST_TARGETDEPS") << "\n\t"; if(!destdir.isEmpty()) t << mkdir_p_asstring(destdir) << "\n\t"; t << "-$(DEL_FILE) $(TARGET)" << "\n\t" << var("QMAKE_AR_CMD") << "\n"; if(!project->isEmpty("QMAKE_POST_LINK")) t << "\t" << var("QMAKE_POST_LINK") << "\n"; if(!project->isEmpty("QMAKE_RANLIB")) t << "\t" << "$(RANLIB) $(TARGET)" << "\n"; if(!destdir.isEmpty()) t << "\t" << "-$(DEL_FILE) " << destdir << "$(TARGET)" << "\n" << "\t" << "-$(MOVE) $(TARGET) " << destdir << "\n"; } else { int max_files = project->first("QMAKE_MAX_FILES_PER_AR").toInt(); QStringList objs = project->values("OBJECTS") + project->values("OBJCOMP"), libs = project->values("QMAKE_AR_SUBLIBS"); libs.prepend("$(TARGET)"); for(QStringList::Iterator libit = libs.begin(), objit = objs.begin(); libit != libs.end(); ++libit) { QStringList build; for(int cnt = 0; cnt < max_files && objit != objs.end(); ++objit, cnt++) build << (*objit); QString ar; if((*libit) == "$(TARGET)") { t << destdir << "$(TARGET): " << var("PRE_TARGETDEPS") << " " << var("POST_TARGETDEPS") << valList(build) << "\n\t"; ar = project->values("QMAKE_AR_CMD").first(); ar = ar.replace("$(OBJECTS)", build.join(" ")); } else { t << (*libit) << ": " << valList(build) << "\n\t"; ar = "$(AR) " + (*libit) + " " + build.join(" "); } if(!destdir.isEmpty()) t << mkdir_p_asstring(destdir) << "\n\t"; t << "-$(DEL_FILE) " << (*libit) << "\n\t" << ar << "\n"; if(!project->isEmpty("QMAKE_POST_LINK")) t << "\t" << var("QMAKE_POST_LINK") << "\n"; if(!project->isEmpty("QMAKE_RANLIB")) t << "\t" << "$(RANLIB) " << (*libit) << "\n"; if(!destdir.isEmpty()) t << "\t" << "-$(DEL_FILE) " << destdir << (*libit) << "\n" << "\t" << "-$(MOVE) " << (*libit) << " " << destdir << "\n"; } } t << endl << endl; } writeMakeQmake(t); if(project->isEmpty("QMAKE_FAILED_REQUIREMENTS") && !project->isActiveConfig("no_autoqmake")) { QString meta_files; if(project->isActiveConfig("create_libtool") && project->first("TEMPLATE") == "lib" && !project->isActiveConfig("compile_libtool")) { if(!meta_files.isEmpty()) meta_files += " "; meta_files += libtoolFileName(); } if(project->isActiveConfig("create_pc") && project->first("TEMPLATE") == "lib") { if(!meta_files.isEmpty()) meta_files += " "; meta_files += pkgConfigFileName(); } if(!meta_files.isEmpty()) t << meta_files << ": " << "\n\t" << "@$(QMAKE) -prl " << buildArgs() << " " << project->projectFile() << endl; } if(!project->first("QMAKE_PKGINFO").isEmpty()) { QString pkginfo = escapeFilePath(project->first("QMAKE_PKGINFO")); QString destdir = escapeFilePath(project->first("DESTDIR") + project->first("QMAKE_BUNDLE") + "/Contents"); t << pkginfo << ": " << "\n\t"; if(!destdir.isEmpty()) t << mkdir_p_asstring(destdir) << "\n\t"; t << "@$(DEL_FILE) " << pkginfo << "\n\t" << "@echo \"APPL" << (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ? QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << "\" >" << pkginfo << endl; } if(!project->isEmpty("QMAKE_BUNDLE")) { QString info_plist = escapeFilePath(fileFixify(project->first("QMAKE_INFO_PLIST"))), info_plist_out = escapeFilePath(project->first("QMAKE_INFO_PLIST_OUT")); QString destdir = info_plist_out.section(Option::dir_sep, 0, -2); t << info_plist_out << ": " << "\n\t"; if(!destdir.isEmpty()) t << mkdir_p_asstring(destdir) << "\n\t"; if(project->first("TEMPLATE") == "app") { QString icon = fileFixify(var("ICON")); t << "@$(DEL_FILE) " << info_plist_out << "\n\t" << "@sed " << "-e \"s,@ICON@," << icon.section(Option::dir_sep, -1) << ",g\" " << "-e \"s,@EXECUTABLE@," << var("QMAKE_ORIG_TARGET") << ",g\" " << "-e \"s,@TYPEINFO@,"<< (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ? QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" " << "" << info_plist << " >" << info_plist_out << endl; if(!project->isEmpty("ICON")) { QString dir = project->first("DESTDIR") + project->first("QMAKE_BUNDLE") + "/Contents/Resources/"; const QString icon_path = escapeFilePath(dir + icon.section(Option::dir_sep, -1)); t << icon_path << ": " << icon << "\n\t" << mkdir_p_asstring(dir) << "\n\t" << "@$(DEL_FILE) " << icon_path << "\n\t" << "@$(COPY_FILE) " << escapeFilePath(icon) << " " << icon_path << endl; } } else { t << "@$(DEL_FILE) " << info_plist_out << "\n\t" << "@sed " << "-e \"s,@LIBRARY@," << var("QMAKE_ORIG_TARGET") << ",g\" " << "-e \"s,@SHORT_VERSION@," << project->first("VER_MAJ") << "." << project->first("VER_MIN") << ",g\" " << "-e \"s,@TYPEINFO@," << (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ? QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" " << "" << info_plist << " >" << info_plist_out << endl; } if(!project->isEmpty("QMAKE_BUNDLE_DATA")) { QString bundle_dir = project->first("DESTDIR") + project->first("QMAKE_BUNDLE") + "/"; const QStringList &bundle_data = project->values("QMAKE_BUNDLE_DATA"); for(int i = 0; i < bundle_data.count(); i++) { const QStringList &files = project->values(bundle_data[i] + ".files"); QString path = bundle_dir; if(!project->isEmpty(bundle_data[i] + ".version")) { QString version = project->first(bundle_data[i] + ".version") + "/" + project->first("QMAKE_FRAMEWORK_VERSION") + "/"; t << Option::fixPathToLocalOS(path + project->first(bundle_data[i] + ".path")) << ": " << "\n\t" << mkdir_p_asstring(path) << "\n\t" << "@$(SYMLINK) " << version << project->first(bundle_data[i] + ".path") << " " << path << endl; path += version; } path += project->first(bundle_data[i] + ".path"); path = Option::fixPathToLocalOS(path); for(int file = 0; file < files.count(); file++) { const QString dst = path + Option::dir_sep + fileInfo(files[file]).fileName(); t << dst << ": " << files[file] << "\n\t" << mkdir_p_asstring(path) << "\n\t"; QFileInfo fi(fileInfo(files[file])); if(fi.isDir()) t << "@$(DEL_FILE) -r " << dst << "\n\t" << "@$(COPY_DIR) " << files[file] << " " << dst << endl; else t << "@$(DEL_FILE) " << dst << "\n\t" << "@$(COPY_FILE) " << files[file] << " " << dst << endl; } } } } QString ddir; QString packageName(project->first("QMAKE_ORIG_TARGET")); if(!project->isActiveConfig("no_dist_version")) packageName += var("VERSION"); if (project->isEmpty("QMAKE_DISTDIR")) ddir = packageName; else ddir = project->first("QMAKE_DISTDIR"); QString ddir_c = escapeFilePath(fileFixify((project->isEmpty("OBJECTS_DIR") ? QString(".tmp/") : project->first("OBJECTS_DIR")) + ddir)); t << "dist: " << "\n\t" << mkdir_p_asstring(ddir_c) << "\n\t" << "$(COPY_FILE) --parents $(SOURCES) $(DIST) " << ddir_c << Option::dir_sep << " && "; if(!project->isEmpty("QMAKE_EXTRA_COMPILERS")) { const QStringList &quc = project->values("QMAKE_EXTRA_COMPILERS"); for(QStringList::ConstIterator it = quc.begin(); it != quc.end(); ++it) { const QStringList &var = project->values((*it)+".input"); for(QStringList::ConstIterator var_it = var.begin(); var_it != var.end(); ++var_it) { const QStringList &val = project->values((*var_it)); if(val.isEmpty()) continue; t << "$(COPY_FILE) --parents " << val.join(" ") << " " << ddir_c << Option::dir_sep << " && "; } } } if(!project->isEmpty("TRANSLATIONS")) t << "$(COPY_FILE) --parents " << var("TRANSLATIONS") << " " << ddir_c << Option::dir_sep << " && "; t << "(cd `dirname " << ddir_c << "` && " << "$(TAR) " << packageName << ".tar " << ddir << " && " << "$(COMPRESS) " << packageName << ".tar) && " << "$(MOVE) `dirname " << ddir_c << "`" << Option::dir_sep << packageName << ".tar.gz . && " << "$(DEL_FILE) -r " << ddir_c << endl << endl; t << endl; QString clean_targets = "compiler_clean " + var("CLEAN_DEPS"); if(do_incremental) { t << "incrclean:" << "\n"; if(src_incremental) t << "\t-$(DEL_FILE) $(INCREMENTAL_OBJECTS)" << "\n"; t << endl; } t << "clean:" << clean_targets << "\n\t"; if(!project->isEmpty("OBJECTS")) { if(project->isActiveConfig("compile_libtool")) t << "-$(LIBTOOL) --mode=clean $(DEL_FILE) $(OBJECTS)" << "\n\t"; else t << "-$(DEL_FILE) $(OBJECTS)" << "\n\t"; } if(doPrecompiledHeaders() && !project->isEmpty("PRECOMPILED_HEADER")) { QStringList precomp_files; QString precomph_out_dir; if(!project->isEmpty("PRECOMPILED_DIR")) precomph_out_dir = project->first("PRECOMPILED_DIR"); precomph_out_dir += project->first("QMAKE_ORIG_TARGET") + project->first("QMAKE_PCH_OUTPUT_EXT"); if (project->isActiveConfig("icc_pch_style")) { QString pchBaseName = project->first("QMAKE_ORIG_TARGET"); QString pchOutput; if(!project->isEmpty("PRECOMPILED_DIR")) pchOutput = project->first("PRECOMPILED_DIR"); pchOutput += pchBaseName + project->first("QMAKE_PCH_OUTPUT_EXT"); QString sourceFile = pchOutput + Option::cpp_ext.first(); QString objectFile = createObjectList(QStringList(sourceFile)).first(); precomp_files << precomph_out_dir << sourceFile << objectFile; } else { precomph_out_dir += Option::dir_sep; QString header_prefix = project->first("QMAKE_PRECOMP_PREFIX"); if(!project->isEmpty("QMAKE_CFLAGS_PRECOMPILE")) precomp_files += precomph_out_dir + header_prefix + "c"; if(!project->isEmpty("QMAKE_CXXFLAGS_PRECOMPILE")) precomp_files += precomph_out_dir + header_prefix + "c++"; if(project->isActiveConfig("objective_c")) { if(!project->isEmpty("QMAKE_OBJCFLAGS_PRECOMPILE")) precomp_files += precomph_out_dir + header_prefix + "objective-c"; if(!project->isEmpty("QMAKE_OBJCXXFLAGS_PRECOMPILE")) precomp_files += precomph_out_dir + header_prefix + "objective-c++"; } } t << "-$(DEL_FILE) " << precomp_files.join(" ") << "\n\t"; } if(!project->isEmpty("IMAGES")) t << varGlue("QMAKE_IMAGE_COLLECTION", "\t-$(DEL_FILE) ", " ", "") << "\n\t"; if(src_incremental) t << "-$(DEL_FILE) $(INCREMENTAL_OBJECTS)" << "\n\t"; t << varGlue("QMAKE_CLEAN","-$(DEL_FILE) "," ","\n\t") << "-$(DEL_FILE) *~ core *.core" << "\n" << varGlue("CLEAN_FILES","\t-$(DEL_FILE) "," ","") << endl << endl; t << "####### Sub-libraries" << endl << endl; if (!project->values("SUBLIBS").isEmpty()) { QString libdir = "tmp/"; if(!project->isEmpty("SUBLIBS_DIR")) libdir = project->first("SUBLIBS_DIR"); QStringList &l = project->values("SUBLIBS"); for(it = l.begin(); it != l.end(); ++it) t << libdir << "lib" << (*it) << ".a" << ":\n\t" << var(QString("MAKELIB") + (*it)) << endl << endl; } QString destdir = project->first("DESTDIR"); if(!destdir.isEmpty() && destdir.right(1) != Option::dir_sep) destdir += Option::dir_sep; t << "distclean: " << "clean\n"; if(!project->isEmpty("QMAKE_BUNDLE")) { QString bundlePath = escapeFilePath(destdir + project->first("QMAKE_BUNDLE")); t << "\t-$(DEL_FILE) -r " << bundlePath << endl; } else if(project->isActiveConfig("compile_libtool")) { t << "\t-$(LIBTOOL) --mode=clean $(DEL_FILE) " << "$(TARGET)" << endl; } else if(!project->isActiveConfig("staticlib") && project->values("QMAKE_APP_FLAG").isEmpty() && !project->isActiveConfig("plugin")) { t << "\t-$(DEL_FILE) " << destdir << "$(TARGET)" << " " << endl << "\t-$(DEL_FILE) " << destdir << "$(TARGET0) " << destdir << "$(TARGET1) " << destdir << "$(TARGET2) $(TARGETA)" << endl; } else { t << "\t-$(DEL_FILE) " << "$(TARGET)" << " " << endl; } t << varGlue("QMAKE_DISTCLEAN","\t-$(DEL_FILE) "," ","\n"); { QString ofile = Option::fixPathToTargetOS(fileFixify(Option::output.fileName())); if(!ofile.isEmpty()) t << "\t-$(DEL_FILE) " << ofile << endl; } t << endl << endl; if(doPrecompiledHeaders() && !project->isEmpty("PRECOMPILED_HEADER")) { QString pchInput = project->first("PRECOMPILED_HEADER"); t << "###### Prefix headers" << endl; QString comps[] = { "C", "CXX", "OBJC", "OBJCXX", QString() }; for(int i = 0; !comps[i].isNull(); i++) { QString pchFlags = var("QMAKE_" + comps[i] + "FLAGS_PRECOMPILE"); if(pchFlags.isEmpty()) continue; QString cflags; if(comps[i] == "OBJC" || comps[i] == "OBJCXX") cflags += " $(CFLAGS)"; else cflags += " $(" + comps[i] + "FLAGS)"; QString pchBaseName = project->first("QMAKE_ORIG_TARGET"); QString pchOutput; if(!project->isEmpty("PRECOMPILED_DIR")) pchOutput = project->first("PRECOMPILED_DIR"); pchOutput += pchBaseName + project->first("QMAKE_PCH_OUTPUT_EXT"); if (project->isActiveConfig("icc_pch_style")) { QString sourceFile = pchOutput + Option::cpp_ext.first(); QString objectFile = createObjectList(QStringList(sourceFile)).first(); t << pchOutput << ": " << pchInput << " " << findDependencies(pchInput).join(" \\\n\t\t") << "\n\techo \"// Automatically generated, do not modify\" > " << sourceFile << "\n\trm -f " << pchOutput; pchFlags = pchFlags.replace("${QMAKE_PCH_TEMP_SOURCE}", sourceFile) .replace("${QMAKE_PCH_TEMP_OBJECT}", objectFile); } else { QString header_prefix = project->first("QMAKE_PRECOMP_PREFIX"); pchOutput += Option::dir_sep; QString pchOutputDir = pchOutput, pchOutputFile; if(comps[i] == "C") { pchOutputFile = "c"; } else if(comps[i] == "CXX") { pchOutputFile = "c++"; } else if(project->isActiveConfig("objective_c")) { if(comps[i] == "OBJC") pchOutputFile = "objective-c"; else if(comps[i] == "OBJCXX") pchOutputFile = "objective-c++"; } if(pchOutputFile.isEmpty()) continue; pchOutput += header_prefix + pchOutputFile; t << pchOutput << ": " << pchInput << " " << findDependencies(pchInput).join(" \\\n\t\t") << "\n\t" << mkdir_p_asstring(pchOutputDir); } pchFlags = pchFlags.replace("${QMAKE_PCH_INPUT}", pchInput) .replace("${QMAKE_PCH_OUTPUT_BASE}", pchBaseName) .replace("${QMAKE_PCH_OUTPUT}", pchOutput); QString compiler; if(comps[i] == "C" || comps[i] == "OBJC" || comps[i] == "OBJCXX") compiler = "$(CC)"; else compiler = "$(CXX)"; t << "\n\t" << compiler << cflags << " $(INCPATH) " << pchFlags << endl << endl; } } writeExtraTargets(t); writeExtraCompilerTargets(t); } void UnixMakefileGenerator::init2() { if(project->isEmpty("VERSION")) project->values("VERSION").append("1.0." + (project->isEmpty("VER_PAT") ? QString("0") : project->first("VER_PAT"))); QStringList l = project->first("VERSION").split('.'); l << "0" << "0"; project->values("VER_MAJ").append(l[0]); project->values("VER_MIN").append(l[1]); project->values("VER_PAT").append(l[2]); if(project->isEmpty("QMAKE_FRAMEWORK_VERSION")) project->values("QMAKE_FRAMEWORK_VERSION").append(project->values("VER_MAJ").first()); if (!project->values("QMAKE_APP_FLAG").isEmpty()) { if(!project->isEmpty("QMAKE_BUNDLE")) { QString bundle_loc = project->first("QMAKE_BUNDLE_LOCATION"); if(!bundle_loc.isEmpty() && !bundle_loc.startsWith("/")) bundle_loc.prepend("/"); if(!bundle_loc.endsWith("/")) bundle_loc += "/"; project->values("TARGET").first().prepend(project->first("QMAKE_BUNDLE") + bundle_loc); } if(!project->isEmpty("TARGET")) project->values("TARGET").first().prepend(project->first("DESTDIR")); if (!project->values("QMAKE_CYGWIN_EXE").isEmpty()) project->values("TARGET_EXT").append(".exe"); } else if (project->isActiveConfig("staticlib")) { project->values("TARGET").first().prepend("lib"); project->values("TARGET").first() += ".a"; if(project->values("QMAKE_AR_CMD").isEmpty()) project->values("QMAKE_AR_CMD").append("$(AR) $(TARGET) $(OBJECTS)"); } else { project->values("TARGETA").append(project->first("DESTDIR") + "lib" + project->first("TARGET") + ".a"); if(project->isActiveConfig("compile_libtool")) project->values("TARGET_la") = QStringList(project->first("DESTDIR") + "lib" + project->first("TARGET") + Option::libtool_ext); if (!project->values("QMAKE_AR_CMD").isEmpty()) project->values("QMAKE_AR_CMD").first().replace("(TARGET)","(TARGETA)"); else project->values("QMAKE_AR_CMD").append("$(AR) $(TARGETA) $(OBJECTS)"); if(project->isActiveConfig("compile_libtool")) { project->values("TARGET") = project->values("TARGET_la"); } else if(!project->isEmpty("QMAKE_BUNDLE")) { QString bundle_loc = project->first("QMAKE_BUNDLE_LOCATION"); if(!bundle_loc.isEmpty() && !bundle_loc.startsWith("/")) bundle_loc.prepend("/"); if(!bundle_loc.endsWith("/")) bundle_loc += "/"; project->values("TARGET_").append(project->first("QMAKE_BUNDLE") + bundle_loc + unescapeFilePath(project->first("TARGET"))); project->values("TARGET_x.y").append(project->first("QMAKE_BUNDLE") + "/Versions/" + project->first("QMAKE_FRAMEWORK_VERSION") + bundle_loc + unescapeFilePath(project->first("TARGET"))); } else if(project->isActiveConfig("plugin")) { QString prefix; if(!project->isActiveConfig("no_plugin_name_prefix")) prefix = "lib"; project->values("TARGET_x.y.z").append(prefix + project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_PLUGIN")); if(project->isActiveConfig("lib_version_first")) project->values("TARGET_x").append(prefix + project->first("TARGET") + "." + project->first("VER_MAJ") + "." + project->first("QMAKE_EXTENSION_PLUGIN")); else project->values("TARGET_x").append(prefix + project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_PLUGIN") + "." + project->first("VER_MAJ")); project->values("TARGET") = project->values("TARGET_x.y.z"); } else if (!project->isEmpty("QMAKE_HPUX_SHLIB")) { project->values("TARGET_").append("lib" + project->first("TARGET") + ".sl"); if(project->isActiveConfig("lib_version_first")) project->values("TARGET_x").append("lib" + project->first("VER_MAJ") + "." + project->first("TARGET")); else project->values("TARGET_x").append("lib" + project->first("TARGET") + "." + project->first("VER_MAJ")); project->values("TARGET") = project->values("TARGET_x"); } else if (!project->isEmpty("QMAKE_AIX_SHLIB")) { project->values("TARGET_").append("lib" + project->first("TARGET") + ".a"); if(project->isActiveConfig("lib_version_first")) { project->values("TARGET_x").append("lib" + project->first("TARGET") + "." + project->first("VER_MAJ") + "." + project->first("QMAKE_EXTENSION_SHLIB")); project->values("TARGET_x.y").append("lib" + project->first("TARGET") + "." + project->first("VER_MAJ") + "." + project->first("VER_MIN") + "." + project->first("QMAKE_EXTENSION_SHLIB")); project->values("TARGET_x.y.z").append("lib" + project->first("TARGET") + "." + project->first("VER_MAJ") + "." + project->first("VER_MIN") + "." + project->first("VER_PAT") + "." + project->first("QMAKE_EXTENSION_SHLIB")); } else { project->values("TARGET_x").append("lib" + project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_SHLIB") + "." + project->first("VER_MAJ")); project->values("TARGET_x.y").append("lib" + project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_SHLIB") + "." + project->first("VER_MAJ") + "." + project->first("VER_MIN")); project->values("TARGET_x.y.z").append("lib" + project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_SHLIB") + "." + project->first("VER_MAJ") + "." + project->first("VER_MIN") + "." + project->first("VER_PAT")); } project->values("TARGET") = project->values("TARGET_x.y.z"); } else { project->values("TARGET_").append("lib" + project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_SHLIB")); if(project->isActiveConfig("lib_version_first")) { project->values("TARGET_x").append("lib" + project->first("TARGET") + "." + project->first("VER_MAJ") + "." + project->first("QMAKE_EXTENSION_SHLIB")); project->values("TARGET_x.y").append("lib" + project->first("TARGET") + "." + project->first("VER_MAJ") + "." + project->first("VER_MIN") + "." + project->first("QMAKE_EXTENSION_SHLIB")); project->values("TARGET_x.y.z").append("lib" + project->first("TARGET") + "." + project->first("VER_MAJ") + "." + project->first("VER_MIN") + "." + project->first("VER_PAT") + "." + project->values("QMAKE_EXTENSION_SHLIB").first()); } else { project->values("TARGET_x").append("lib" + project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_SHLIB") + "." + project->first("VER_MAJ")); project->values("TARGET_x.y").append("lib" + project->first("TARGET") + "." + project->first("QMAKE_EXTENSION_SHLIB") + "." + project->first("VER_MAJ") + "." + project->first("VER_MIN")); project->values("TARGET_x.y.z").append("lib" + project->first("TARGET") + "." + project->values( "QMAKE_EXTENSION_SHLIB").first() + "." + project->first("VER_MAJ") + "." + project->first("VER_MIN") + "." + project->first("VER_PAT")); } project->values("TARGET") = project->values("TARGET_x.y.z"); } if(project->isEmpty("QMAKE_LN_SHLIB")) project->values("QMAKE_LN_SHLIB").append("ln -s"); if (!project->values("QMAKE_LFLAGS_SONAME").isEmpty()) { QString soname; if(project->isActiveConfig("plugin")) { if(!project->values("TARGET").isEmpty()) soname += project->first("TARGET"); } else if(!project->isEmpty("QMAKE_BUNDLE")) { soname += project->first("TARGET_x.y"); } else if(!project->values("TARGET_x").isEmpty()) { soname += project->first("TARGET_x"); } if(!soname.isEmpty()) { if(project->isActiveConfig("absolute_library_soname") && project->values("INSTALLS").indexOf("target") != -1 && !project->isEmpty("target.path")) { QString instpath = Option::fixPathToTargetOS(project->first("target.path")); if(!instpath.endsWith(Option::dir_sep)) instpath += Option::dir_sep; soname.prepend(instpath); } project->values("QMAKE_LFLAGS_SONAME").first() += escapeFilePath(soname); } } if (project->values("QMAKE_LINK_SHLIB_CMD").isEmpty()) project->values("QMAKE_LINK_SHLIB_CMD").append( "$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)"); } if (!project->values("QMAKE_APP_FLAG").isEmpty()) { project->values("QMAKE_CFLAGS") += project->values("QMAKE_CFLAGS_APP"); project->values("QMAKE_CXXFLAGS") += project->values("QMAKE_CXXFLAGS_APP"); project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_APP"); } else if (project->isActiveConfig("dll")) { if(!project->isActiveConfig("plugin") || !project->isActiveConfig("plugin_no_share_shlib_cflags")) { project->values("QMAKE_CFLAGS") += project->values("QMAKE_CFLAGS_SHLIB"); project->values("QMAKE_CXXFLAGS") += project->values("QMAKE_CXXFLAGS_SHLIB"); } if (project->isActiveConfig("plugin")) { project->values("QMAKE_CFLAGS") += project->values("QMAKE_CFLAGS_PLUGIN"); project->values("QMAKE_CXXFLAGS") += project->values("QMAKE_CXXFLAGS_PLUGIN"); project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_PLUGIN"); if(project->isActiveConfig("plugin_with_soname") && !project->isActiveConfig("compile_libtool")) project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_SONAME"); } else { project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_SHLIB"); if(!project->isEmpty("QMAKE_LFLAGS_COMPAT_VERSION")) { if(project->isEmpty("COMPAT_VERSION")) project->values("QMAKE_LFLAGS") += QString(project->first("QMAKE_LFLAGS_COMPAT_VERSION") + project->first("VER_MAJ") + "." + project->first("VER_MIN")); else project->values("QMAKE_LFLAGS") += QString(project->first("QMAKE_LFLAGS_COMPAT_VERSION") + project->first("COMPATIBILITY_VERSION")); } if(!project->isEmpty("QMAKE_LFLAGS_VERSION")) { project->values("QMAKE_LFLAGS") += QString(project->first("QMAKE_LFLAGS_VERSION") + project->first("VER_MAJ") + "." + project->first("VER_MIN") + "." + project->first("VER_PAT")); } if(!project->isActiveConfig("compile_libtool")) project->values("QMAKE_LFLAGS") += project->values("QMAKE_LFLAGS_SONAME"); } } if(!project->isEmpty("QMAKE_BUNDLE")) { QString plist = fileFixify(project->first("QMAKE_INFO_PLIST")); if(plist.isEmpty()) plist = specdir() + QDir::separator() + "Info.plist." + project->first("TEMPLATE"); if(exists(Option::fixPathToLocalOS(plist))) { if(project->isEmpty("QMAKE_INFO_PLIST")) project->values("QMAKE_INFO_PLIST").append(plist); project->values("QMAKE_INFO_PLIST_OUT").append(project->first("DESTDIR") + project->first("QMAKE_BUNDLE") + "/Contents/Info.plist"); project->values("ALL_DEPS") += project->first("QMAKE_INFO_PLIST_OUT"); if(!project->isEmpty("ICON") && project->first("TEMPLATE") == "app") project->values("ALL_DEPS") += project->first("DESTDIR") + project->first("QMAKE_BUNDLE") + "/Contents/Resources/" + project->first("ICON").section('/', -1); if(!project->isEmpty("QMAKE_BUNDLE_DATA")) { QString bundle_dir = project->first("DESTDIR") + project->first("QMAKE_BUNDLE") + "/"; QStringList &alldeps = project->values("ALL_DEPS"); const QStringList &bundle_data = project->values("QMAKE_BUNDLE_DATA"); for(int i = 0; i < bundle_data.count(); i++) { const QStringList &files = project->values(bundle_data[i] + ".files"); QString path = bundle_dir; if(!project->isEmpty(bundle_data[i] + ".version")) { alldeps += Option::fixPathToLocalOS(path + Option::dir_sep + project->first(bundle_data[i] + ".path")); path += project->first(bundle_data[i] + ".version") + "/" + project->first("QMAKE_FRAMEWORK_VERSION") + "/"; } path += project->first(bundle_data[i] + ".path"); path = Option::fixPathToLocalOS(path); for(int file = 0; file < files.count(); file++) alldeps += path + Option::dir_sep + fileInfo(files[file]).fileName(); } } } } } QString UnixMakefileGenerator::libtoolFileName(bool fixify) { QString ret = var("TARGET"); int slsh = ret.lastIndexOf(Option::dir_sep); if(slsh != -1) ret = ret.right(ret.length() - slsh - 1); int dot = ret.indexOf('.'); if(dot != -1) ret = ret.left(dot); ret += Option::libtool_ext; if(!project->isEmpty("QMAKE_LIBTOOL_DESTDIR")) ret.prepend(project->first("QMAKE_LIBTOOL_DESTDIR") + Option::dir_sep); if(fixify) { if(QDir::isRelativePath(ret) && !project->isEmpty("DESTDIR")) ret.prepend(project->first("DESTDIR")); ret = Option::fixPathToLocalOS(fileFixify(ret, qmake_getpwd(), Option::output_dir)); } return ret; } void UnixMakefileGenerator::writeLibtoolFile() { QString fname = libtoolFileName(), lname = fname; mkdir(fileInfo(fname).path()); int slsh = lname.lastIndexOf(Option::dir_sep); if(slsh != -1) lname = lname.right(lname.length() - slsh - 1); QFile ft(fname); if(!ft.open(QIODevice::WriteOnly)) return; project->values("ALL_DEPS").append(fileFixify(fname)); QTextStream t(&ft); t << "# " << lname << " - a libtool library file\n"; t << "# Generated by qmake/libtool (" << qmake_version() << ") (Qt " << "4.3.2" << ") on: " << QDateTime::currentDateTime().toString(); t << "\n"; t << "# The name that we can dlopen(3).\n" << "dlname='" << var(project->isActiveConfig("plugin") ? "TARGET" : "TARGET_x") << "'\n\n"; t << "# Names of this library.\n"; t << "library_names='"; if(project->isActiveConfig("plugin")) { t << var("TARGET"); } else { if (project->isEmpty("QMAKE_HPUX_SHLIB")) t << var("TARGET_x.y.z") << " "; t << var("TARGET_x") << " " << var("TARGET_"); } t << "'\n\n"; t << "# The name of the static archive.\n" << "old_library='" << lname.left(lname.length()-Option::libtool_ext.length()) << ".a'\n\n"; t << "# Libraries that this one depends upon.\n"; QStringList libs; if(!project->isEmpty("QMAKE_INTERNAL_PRL_LIBS")) libs = project->values("QMAKE_INTERNAL_PRL_LIBS"); else libs << "QMAKE_LIBS"; t << "dependency_libs='"; for(QStringList::ConstIterator it = libs.begin(); it != libs.end(); ++it) t << project->values((*it)).join(" ") << " "; t << "'\n\n"; t << "# Version information for " << lname << "\n"; int maj = project->first("VER_MAJ").toInt(); int min = project->first("VER_MIN").toInt(); int pat = project->first("VER_PAT").toInt(); t << "current=" << (10*maj + min) << "\n" << "age=0\n" << "revision=" << pat << "\n\n"; t << "# Is this an already installed library.\n" "installed=yes\n\n"; t << "# Files to dlopen/dlpreopen.\n" "dlopen=''\n" "dlpreopen=''\n\n"; QString install_dir = project->first("QMAKE_LIBTOOL_LIBDIR"); if(install_dir.isEmpty()) install_dir = project->first("target.path"); if(install_dir.isEmpty()) install_dir = project->first("DESTDIR"); t << "# Directory that this library needs to be installed in:\n" "libdir='" << Option::fixPathToTargetOS(install_dir, false) << "'\n"; } QString UnixMakefileGenerator::pkgConfigFileName(bool fixify) { QString ret = var("TARGET"); int slsh = ret.lastIndexOf(Option::dir_sep); if(slsh != -1) ret = ret.right(ret.length() - slsh - 1); if(ret.startsWith("lib")) ret = ret.mid(3); int dot = ret.indexOf('.'); if(dot != -1) ret = ret.left(dot); ret += Option::pkgcfg_ext; if(!project->isEmpty("QMAKE_PKGCONFIG_DESTDIR")) ret.prepend(project->first("QMAKE_PKGCONFIG_DESTDIR") + Option::dir_sep); if(fixify) { if(QDir::isRelativePath(ret) && !project->isEmpty("DESTDIR")) ret.prepend(project->first("DESTDIR")); ret = Option::fixPathToLocalOS(fileFixify(ret, qmake_getpwd(), Option::output_dir)); } return ret; } QString UnixMakefileGenerator::pkgConfigPrefix() const { if(!project->isEmpty("QMAKE_PKGCONFIG_PREFIX")) return project->first("QMAKE_PKGCONFIG_PREFIX"); return QLibraryInfo::location(QLibraryInfo::PrefixPath); } QString UnixMakefileGenerator::pkgConfigFixPath(QString path) const { QString prefix = pkgConfigPrefix(); if(path.startsWith(prefix)) path = path.replace(prefix, "${prefix}"); return path; } void UnixMakefileGenerator::writePkgConfigFile() { QString fname = pkgConfigFileName(), lname = fname; mkdir(fileInfo(fname).path()); int slsh = lname.lastIndexOf(Option::dir_sep); if(slsh != -1) lname = lname.right(lname.length() - slsh - 1); QFile ft(fname); if(!ft.open(QIODevice::WriteOnly)) return; project->values("ALL_DEPS").append(fileFixify(fname)); QTextStream t(&ft); QString prefix = pkgConfigPrefix(); QString libDir = project->first("QMAKE_PKGCONFIG_LIBDIR"); if(libDir.isEmpty()) libDir = prefix + Option::dir_sep + "lib" + Option::dir_sep; QString includeDir = project->first("QMAKE_PKGCONFIG_INCDIR"); if(includeDir.isEmpty()) includeDir = prefix + "/include"; t << "prefix=" << prefix << endl; t << "exec_prefix=${prefix}\n" << "libdir=" << pkgConfigFixPath(libDir) << "\n" << "includedir=" << pkgConfigFixPath(includeDir) << endl; t << varGlue("CONFIG", "qt_config=", " ", "") << endl; const QStringList &pkgconfig_vars = project->values("QMAKE_PKGCONFIG_VARIABLES"); for(int i = 0; i < pkgconfig_vars.size(); ++i) { QString var = project->first(pkgconfig_vars.at(i) + ".name"), val = project->values(pkgconfig_vars.at(i) + ".value").join(" "); if(var.isEmpty()) continue; if(val.isEmpty()) { const QStringList &var_vars = project->values(pkgconfig_vars.at(i) + ".variable"); for(int v = 0; v < var_vars.size(); ++v) { const QStringList &vars = project->values(var_vars.at(v)); for(int var = 0; var < vars.size(); ++var) { if(!val.isEmpty()) val += " "; val += pkgConfigFixPath(vars.at(var)); } } } t << var << "=" << val << endl; } t << endl; QString name = project->first("QMAKE_PKGCONFIG_NAME"); if(name.isEmpty()) { name = project->first("QMAKE_ORIG_TARGET").toLower(); name.replace(0, 1, name[0].toUpper()); } t << "Name: " << name << endl; QString desc = project->values("QMAKE_PKGCONFIG_DESCRIPTION").join(" "); if(desc.isEmpty()) { if(name.isEmpty()) { desc = project->first("QMAKE_ORIG_TARGET").toLower(); desc.replace(0, 1, desc[0].toUpper()); } else { desc = name; } if(project->first("TEMPLATE") == "lib") { if(project->isActiveConfig("plugin")) desc += " Plugin"; else desc += " Library"; } else if(project->first("TEMPLATE") == "app") { desc += " Application"; } } t << "Description: " << desc << endl; t << "Version: " << project->first("VERSION") << endl; QStringList libs; if(!project->isEmpty("QMAKE_INTERNAL_PRL_LIBS")) libs = project->values("QMAKE_INTERNAL_PRL_LIBS"); else libs << "QMAKE_LIBS"; libs << "QMAKE_LFLAGS_THREAD"; t << "Libs: -L${libdir} -l" << lname.left(lname.length()-Option::libtool_ext.length()) << " "; for(QStringList::ConstIterator it = libs.begin(); it != libs.end(); ++it) t << project->values((*it)).join(" ") << " "; t << endl; t << "Cflags: " << varGlue("PRL_EXPORT_DEFINES","-D"," -D"," ") << project->values("PRL_EXPORT_CXXFLAGS").join(" ") << project->values("QMAKE_PKGCONFIG_CFLAGS").join(" ") << " -I${includedir}" << endl; t << endl; }