diff options
Diffstat (limited to 'src/corelib/tools')
112 files changed, 406 insertions, 385 deletions
diff --git a/src/corelib/tools/qalgorithms.h b/src/corelib/tools/qalgorithms.h index 90a9caa905..a1c656934d 100644 --- a/src/corelib/tools/qalgorithms.h +++ b/src/corelib/tools/qalgorithms.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qalgorithms.qdoc b/src/corelib/tools/qalgorithms.qdoc index b11f4092a8..3ba86b6838 100644 --- a/src/corelib/tools/qalgorithms.qdoc +++ b/src/corelib/tools/qalgorithms.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qbitarray.cpp b/src/corelib/tools/qbitarray.cpp index 5538180b37..96811cc179 100644 --- a/src/corelib/tools/qbitarray.cpp +++ b/src/corelib/tools/qbitarray.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -725,6 +725,24 @@ QDataStream &operator>>(QDataStream &in, QBitArray &ba) } #endif // QT_NO_DATASTREAM +#ifndef QT_NO_DEBUG_STREAM +QDebug operator<<(QDebug dbg, const QBitArray &array) +{ + dbg.nospace() << "QBitArray("; + for (int i = 0; i < array.size();) { + if (array.testBit(i)) + dbg.nospace() << '1'; + else + dbg.nospace() << '0'; + i += 1; + if (!(i % 4) && (i < array.size())) + dbg.nospace() << ' '; + } + dbg.nospace() << ')'; + return dbg.space(); +} +#endif + /*! \fn DataPtr &QBitArray::data_ptr() \internal diff --git a/src/corelib/tools/qbitarray.h b/src/corelib/tools/qbitarray.h index 3b66b9f4df..83c81eca90 100644 --- a/src/corelib/tools/qbitarray.h +++ b/src/corelib/tools/qbitarray.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -170,6 +170,10 @@ Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QBitArray &); Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QBitArray &); #endif +#ifndef QT_NO_DEBUG_STREAM +Q_CORE_EXPORT QDebug operator<<(QDebug, const QBitArray &); +#endif + Q_DECLARE_TYPEINFO(QBitArray, Q_MOVABLE_TYPE); Q_DECLARE_SHARED(QBitArray) diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp index e56e4fc8ff..47bf5da619 100644 --- a/src/corelib/tools/qbytearray.cpp +++ b/src/corelib/tools/qbytearray.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -546,7 +546,7 @@ QByteArray qUncompress(const uchar* data, int nbytes) qWarning("qUncompress: Input data is corrupted"); return QByteArray(); } - QByteArray::Data *p = static_cast<QByteArray::Data *>(qRealloc(d.data(), sizeof(QByteArray::Data) + alloc + 1)); + QByteArray::Data *p = static_cast<QByteArray::Data *>(::realloc(d.data(), sizeof(QByteArray::Data) + alloc + 1)); if (!p) { // we are not allowed to crash here when compiling with QT_NO_EXCEPTIONS qWarning("qUncompress: could not allocate enough memory to uncompress data"); @@ -567,7 +567,7 @@ QByteArray qUncompress(const uchar* data, int nbytes) qWarning("qUncompress: Input data is corrupted"); return QByteArray(); } - QByteArray::Data *p = static_cast<QByteArray::Data *>(qRealloc(d.data(), sizeof(QByteArray::Data) + len + 1)); + QByteArray::Data *p = static_cast<QByteArray::Data *>(::realloc(d.data(), sizeof(QByteArray::Data) + len + 1)); if (!p) { // we are not allowed to crash here when compiling with QT_NO_EXCEPTIONS qWarning("qUncompress: could not allocate enough memory to uncompress data"); @@ -883,7 +883,7 @@ QByteArray &QByteArray::operator=(const QByteArray & other) { other.d->ref.ref(); if (!d->ref.deref()) - qFree(d); + free(d); d = other.d; return *this; } @@ -912,7 +912,7 @@ QByteArray &QByteArray::operator=(const char *str) } x->ref.ref(); if (!d->ref.deref()) - qFree(d); + free(d); d = x; return *this; } @@ -1302,7 +1302,7 @@ QByteArray::QByteArray(const char *str) d = const_cast<Data *>(&shared_empty.ba); } else { int len = qstrlen(str); - d = static_cast<Data *>(qMalloc(sizeof(Data) + len + 1)); + d = static_cast<Data *>(malloc(sizeof(Data) + len + 1)); Q_CHECK_PTR(d); d->ref.initializeOwned(); d->size = len; @@ -1331,7 +1331,7 @@ QByteArray::QByteArray(const char *data, int size) } else if (size <= 0) { d = const_cast<Data *>(&shared_empty.ba); } else { - d = static_cast<Data *>(qMalloc(sizeof(Data) + size + 1)); + d = static_cast<Data *>(malloc(sizeof(Data) + size + 1)); Q_CHECK_PTR(d); d->ref.initializeOwned(); d->size = size; @@ -1355,7 +1355,7 @@ QByteArray::QByteArray(int size, char ch) if (size <= 0) { d = const_cast<Data *>(&shared_null.ba); } else { - d = static_cast<Data *>(qMalloc(sizeof(Data) + size + 1)); + d = static_cast<Data *>(malloc(sizeof(Data) + size + 1)); Q_CHECK_PTR(d); d->ref.initializeOwned(); d->size = size; @@ -1375,7 +1375,7 @@ QByteArray::QByteArray(int size, char ch) QByteArray::QByteArray(int size, Qt::Initialization) { - d = static_cast<Data *>(qMalloc(sizeof(Data) + size + 1)); + d = static_cast<Data *>(malloc(sizeof(Data) + size + 1)); Q_CHECK_PTR(d); d->ref.initializeOwned(); d->size = size; @@ -1411,7 +1411,7 @@ void QByteArray::resize(int size) if (size == 0 && !d->capacityReserved) { Data *x = const_cast<Data *>(&shared_empty.ba); if (!d->ref.deref()) - qFree(d); + free(d); d = x; } else if (d == &shared_null.ba || d == &shared_empty.ba) { // @@ -1422,7 +1422,7 @@ void QByteArray::resize(int size) // which is used in place of the Qt 3 idiom: // QByteArray a(sz); // - Data *x = static_cast<Data *>(qMalloc(sizeof(Data) + size + 1)); + Data *x = static_cast<Data *>(malloc(sizeof(Data) + size + 1)); Q_CHECK_PTR(x); x->ref.initializeOwned(); x->size = size; @@ -1464,7 +1464,7 @@ QByteArray &QByteArray::fill(char ch, int size) void QByteArray::realloc(int alloc) { if (d->ref != 1 || d->offset) { - Data *x = static_cast<Data *>(qMalloc(sizeof(Data) + alloc + 1)); + Data *x = static_cast<Data *>(malloc(sizeof(Data) + alloc + 1)); Q_CHECK_PTR(x); x->ref.initializeOwned(); x->size = qMin(alloc, d->size); @@ -1474,10 +1474,10 @@ void QByteArray::realloc(int alloc) ::memcpy(x->data(), d->data(), x->size); x->data()[x->size] = '\0'; if (!d->ref.deref()) - qFree(d); + free(d); d = x; } else { - Data *x = static_cast<Data *>(qRealloc(d, sizeof(Data) + alloc + 1)); + Data *x = static_cast<Data *>(::realloc(d, sizeof(Data) + alloc + 1)); Q_CHECK_PTR(x); x->alloc = alloc; x->offset = 0; @@ -2730,7 +2730,7 @@ QByteArray QByteArray::toUpper() const void QByteArray::clear() { if (!d->ref.deref()) - qFree(d); + free(d); d = const_cast<Data *>(&shared_null.ba); d->ref.ref(); } @@ -3885,7 +3885,7 @@ QByteArray QByteArray::fromRawData(const char *data, int size) } else if (!size) { x = const_cast<Data *>(&shared_empty.ba); } else { - x = static_cast<Data *>(qMalloc(sizeof(Data) + 1)); + x = static_cast<Data *>(malloc(sizeof(Data) + 1)); Q_CHECK_PTR(x); x->ref.initializeOwned(); x->size = size; diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h index dcaa6153f9..2409ff1232 100644 --- a/src/corelib/tools/qbytearray.h +++ b/src/corelib/tools/qbytearray.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qbytearraymatcher.cpp b/src/corelib/tools/qbytearraymatcher.cpp index 43924a764e..fbe54fb9b3 100644 --- a/src/corelib/tools/qbytearraymatcher.cpp +++ b/src/corelib/tools/qbytearraymatcher.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qbytearraymatcher.h b/src/corelib/tools/qbytearraymatcher.h index 0eb50bb77d..9acfa0d581 100644 --- a/src/corelib/tools/qbytearraymatcher.h +++ b/src/corelib/tools/qbytearraymatcher.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qbytedata_p.h b/src/corelib/tools/qbytedata_p.h index 22ec47fb9d..2708df3d52 100644 --- a/src/corelib/tools/qbytedata_p.h +++ b/src/corelib/tools/qbytedata_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qcache.h b/src/corelib/tools/qcache.h index 2928140863..fc5b8a0a9f 100644 --- a/src/corelib/tools/qcache.h +++ b/src/corelib/tools/qcache.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -61,7 +61,6 @@ class QCache }; Node *f, *l; QHash<Key, Node> hash; - void *unused; // ### Qt5: remove int mx, total; inline void unlink(Node &n) { @@ -123,7 +122,7 @@ private: template <class Key, class T> inline QCache<Key, T>::QCache(int amaxCost) - : f(0), l(0), unused(0), mx(amaxCost), total(0) {} + : f(0), l(0), mx(amaxCost), total(0) {} template <class Key, class T> inline void QCache<Key,T>::clear() diff --git a/src/corelib/tools/qcache.qdoc b/src/corelib/tools/qcache.qdoc index 397c5fbb0c..9c8aef15df 100644 --- a/src/corelib/tools/qcache.qdoc +++ b/src/corelib/tools/qcache.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qchar.cpp b/src/corelib/tools/qchar.cpp index ec4b0cce58..5109bf22a4 100644 --- a/src/corelib/tools/qchar.cpp +++ b/src/corelib/tools/qchar.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qchar.h b/src/corelib/tools/qchar.h index 1bc6962ca1..0e02d109f6 100644 --- a/src/corelib/tools/qchar.h +++ b/src/corelib/tools/qchar.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qcontainerfwd.h b/src/corelib/tools/qcontainerfwd.h index ed6ab4332c..51ba07d856 100644 --- a/src/corelib/tools/qcontainerfwd.h +++ b/src/corelib/tools/qcontainerfwd.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qcontiguouscache.cpp b/src/corelib/tools/qcontiguouscache.cpp index eef1f74b8c..29601149e4 100644 --- a/src/corelib/tools/qcontiguouscache.cpp +++ b/src/corelib/tools/qcontiguouscache.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qcontiguouscache.h b/src/corelib/tools/qcontiguouscache.h index e192edf0ab..3c43b3abe7 100644 --- a/src/corelib/tools/qcontiguouscache.h +++ b/src/corelib/tools/qcontiguouscache.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qcryptographichash.cpp b/src/corelib/tools/qcryptographichash.cpp index 89b3bab7c6..350c785e8b 100644 --- a/src/corelib/tools/qcryptographichash.cpp +++ b/src/corelib/tools/qcryptographichash.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -50,6 +50,7 @@ #include "../../3rdparty/md4/md4.h" #include "../../3rdparty/md4/md4.cpp" #include "../../3rdparty/sha1/sha1.cpp" +#include <qiodevice.h> QT_BEGIN_NAMESPACE @@ -155,6 +156,28 @@ void QCryptographicHash::addData(const QByteArray &data) } /*! + Reads the data from the open QIODevice \a device until it ends + and hashes it. Returns true if reading was successful. + */ +bool QCryptographicHash::addData(QIODevice* device) +{ + if (!device->isReadable()) + return false; + + if (!device->isOpen()) + return false; + + char buffer[1024]; + int length; + + while ((length = device->read(buffer,sizeof(buffer))) > 0) + addData(buffer,length); + + return device->atEnd(); +} + + +/*! Returns the final hash value. \sa QByteArray::toHex() diff --git a/src/corelib/tools/qcryptographichash.h b/src/corelib/tools/qcryptographichash.h index b40e8cc25b..64d54838fa 100644 --- a/src/corelib/tools/qcryptographichash.h +++ b/src/corelib/tools/qcryptographichash.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -51,6 +51,7 @@ QT_BEGIN_NAMESPACE QT_MODULE(Core) class QCryptographicHashPrivate; +class QIODevice; class Q_CORE_EXPORT QCryptographicHash { @@ -68,6 +69,7 @@ public: void addData(const char *data, int length); void addData(const QByteArray &data); + bool addData(QIODevice* device); QByteArray result() const; diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index 3c8848ba0f..d20b07589e 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -566,18 +566,6 @@ QString QDate::shortMonthName(int month, QDate::MonthNameType type) } /*! - Returns the short version of the name of the \a month. The - returned name is in normal type which can be used for date formatting. - - \sa toString(), longMonthName(), shortDayName(), longDayName() - */ - -QString QDate::shortMonthName(int month) -{ - return shortMonthName(month, QDate::DateFormat); -} - -/*! \since 4.5 Returns the long name of the \a month for the representation specified @@ -623,21 +611,6 @@ QString QDate::longMonthName(int month, MonthNameType type) } /*! - Returns the long version of the name of the \a month. The - returned name is in normal type which can be used for date formatting. - - \sa toString(), shortMonthName(), shortDayName(), longDayName() - */ - -QString QDate::longMonthName(int month) -{ - if (month < 1 || month > 12) { - month = 1; - } - return QLocale::system().monthName(month, QLocale::LongFormat); -} - -/*! \since 4.5 Returns the short name of the \a weekday for the representation specified @@ -678,21 +651,6 @@ QString QDate::shortDayName(int weekday, MonthNameType type) } /*! - Returns the short version of the name of the \a weekday. The - returned name is in normal type which can be used for date formatting. - - \sa toString(), longDayName(), shortMonthName(), longMonthName() - */ - -QString QDate::shortDayName(int weekday) -{ - if (weekday < 1 || weekday > 7) { - weekday = 1; - } - return QLocale::system().dayName(weekday, QLocale::ShortFormat); -} - -/*! \since 4.5 Returns the long name of the \a weekday for the representation specified @@ -731,21 +689,6 @@ QString QDate::longDayName(int weekday, MonthNameType type) } return QLocale::system().dayName(weekday, QLocale::LongFormat); } - -/*! - Returns the long version of the name of the \a weekday. The - returned name is in normal type which can be used for date formatting. - - \sa toString(), shortDayName(), shortMonthName(), longMonthName() - */ - -QString QDate::longDayName(int weekday) -{ - if (weekday < 1 || weekday > 7) { - weekday = 1; - } - return QLocale::system().dayName(weekday, QLocale::LongFormat); -} #endif //QT_NO_TEXTDATE #ifndef QT_NO_DATESTRING @@ -1346,30 +1289,6 @@ bool QDate::isLeapYear(int y) } } -/*! - \internal - - This function has a confusing name and shouldn't be part of the - API anyway, since we have toJulian() and fromJulian(). - ### Qt 5: remove it -*/ -uint QDate::gregorianToJulian(int y, int m, int d) -{ - return julianDayFromDate(y, m, d); -} - -/*! - \internal - - This function has a confusing name and shouldn't be part of the - API anyway, since we have toJulian() and fromJulian(). - ### Qt 5: remove it -*/ -void QDate::julianToGregorian(uint jd, int &y, int &m, int &d) -{ - getDateFromJulianDay(jd, &y, &m, &d); -} - /*! \fn static QDate QDate::fromJulianDay(int jd) Converts the Julian day \a jd to a QDate. diff --git a/src/corelib/tools/qdatetime.h b/src/corelib/tools/qdatetime.h index 62bdcab7cc..ba52f7455c 100644 --- a/src/corelib/tools/qdatetime.h +++ b/src/corelib/tools/qdatetime.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -76,15 +76,10 @@ public: int weekNumber(int *yearNum = 0) const; #ifndef QT_NO_TEXTDATE - // ### Qt 5: merge these functions. - static QString shortMonthName(int month); - static QString shortMonthName(int month, MonthNameType type); - static QString shortDayName(int weekday); - static QString shortDayName(int weekday, MonthNameType type); - static QString longMonthName(int month); - static QString longMonthName(int month, MonthNameType type); - static QString longDayName(int weekday); - static QString longDayName(int weekday, MonthNameType type); + static QString shortMonthName(int month, MonthNameType type = DateFormat); + static QString shortDayName(int weekday, MonthNameType type = DateFormat); + static QString longMonthName(int month, MonthNameType type = DateFormat); + static QString longDayName(int weekday, MonthNameType type = DateFormat); #endif // QT_NO_TEXTDATE #ifndef QT_NO_DATESTRING QString toString(Qt::DateFormat f = Qt::TextDate) const; @@ -115,10 +110,6 @@ public: static bool isValid(int y, int m, int d); static bool isLeapYear(int year); - // ### Qt 5: remove these two functions - 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; } diff --git a/src/corelib/tools/qdatetime_p.h b/src/corelib/tools/qdatetime_p.h index c20f2123f9..38aa748c6c 100644 --- a/src/corelib/tools/qdatetime_p.h +++ b/src/corelib/tools/qdatetime_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qeasingcurve.cpp b/src/corelib/tools/qeasingcurve.cpp index 4337c4a594..a3614f9b6c 100644 --- a/src/corelib/tools/qeasingcurve.cpp +++ b/src/corelib/tools/qeasingcurve.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qeasingcurve.h b/src/corelib/tools/qeasingcurve.h index 326e7f6e61..ef18ae20bc 100644 --- a/src/corelib/tools/qeasingcurve.h +++ b/src/corelib/tools/qeasingcurve.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qelapsedtimer.cpp b/src/corelib/tools/qelapsedtimer.cpp index 039c76960e..087252a926 100644 --- a/src/corelib/tools/qelapsedtimer.cpp +++ b/src/corelib/tools/qelapsedtimer.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qelapsedtimer.h b/src/corelib/tools/qelapsedtimer.h index 6e5be84c00..73ec8d637e 100644 --- a/src/corelib/tools/qelapsedtimer.h +++ b/src/corelib/tools/qelapsedtimer.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qelapsedtimer_generic.cpp b/src/corelib/tools/qelapsedtimer_generic.cpp index 165efa96f2..3c7bb197d7 100644 --- a/src/corelib/tools/qelapsedtimer_generic.cpp +++ b/src/corelib/tools/qelapsedtimer_generic.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qelapsedtimer_mac.cpp b/src/corelib/tools/qelapsedtimer_mac.cpp index 4b1275fe5c..f8f124f6a9 100644 --- a/src/corelib/tools/qelapsedtimer_mac.cpp +++ b/src/corelib/tools/qelapsedtimer_mac.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qelapsedtimer_symbian.cpp b/src/corelib/tools/qelapsedtimer_symbian.cpp index dd5909f76f..4ae3f3d1ab 100644 --- a/src/corelib/tools/qelapsedtimer_symbian.cpp +++ b/src/corelib/tools/qelapsedtimer_symbian.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qelapsedtimer_unix.cpp b/src/corelib/tools/qelapsedtimer_unix.cpp index 8a046063f9..7f3d4f635c 100644 --- a/src/corelib/tools/qelapsedtimer_unix.cpp +++ b/src/corelib/tools/qelapsedtimer_unix.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qelapsedtimer_win.cpp b/src/corelib/tools/qelapsedtimer_win.cpp index cd076a60d7..183171e306 100644 --- a/src/corelib/tools/qelapsedtimer_win.cpp +++ b/src/corelib/tools/qelapsedtimer_win.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qfreelist.cpp b/src/corelib/tools/qfreelist.cpp index bbbdb25e49..57530cf3c8 100644 --- a/src/corelib/tools/qfreelist.cpp +++ b/src/corelib/tools/qfreelist.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qfreelist_p.h b/src/corelib/tools/qfreelist_p.h index 5af0bb1807..2105e5af56 100644 --- a/src/corelib/tools/qfreelist_p.h +++ b/src/corelib/tools/qfreelist_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qharfbuzz.cpp b/src/corelib/tools/qharfbuzz.cpp index 324cd481ed..4eb6565557 100644 --- a/src/corelib/tools/qharfbuzz.cpp +++ b/src/corelib/tools/qharfbuzz.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qharfbuzz_p.h b/src/corelib/tools/qharfbuzz_p.h index f67b094c2d..a8da47b71c 100644 --- a/src/corelib/tools/qharfbuzz_p.h +++ b/src/corelib/tools/qharfbuzz_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp index 373b59872c..82ac8a0591 100644 --- a/src/corelib/tools/qhash.cpp +++ b/src/corelib/tools/qhash.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -171,7 +171,7 @@ const QHashData QHashData::shared_null = { void *QHashData::allocateNode(int nodeAlign) { - void *ptr = strictAlignment ? qMallocAligned(nodeSize, nodeAlign) : qMalloc(nodeSize); + void *ptr = strictAlignment ? qMallocAligned(nodeSize, nodeAlign) : malloc(nodeSize); Q_CHECK_PTR(ptr); return ptr; } @@ -181,7 +181,7 @@ void QHashData::freeNode(void *node) if (strictAlignment) qFreeAligned(node); else - qFree(node); + free(node); } QHashData *QHashData::detach_helper(void (*node_duplicate)(Node *, void *), diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h index ec9bd42c83..0fdb1ad794 100644 --- a/src/corelib/tools/qhash.h +++ b/src/corelib/tools/qhash.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qiterator.h b/src/corelib/tools/qiterator.h index c789e23ddc..0747940bf2 100644 --- a/src/corelib/tools/qiterator.h +++ b/src/corelib/tools/qiterator.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qiterator.qdoc b/src/corelib/tools/qiterator.qdoc index 6594a2f874..0e33aecbe4 100644 --- a/src/corelib/tools/qiterator.qdoc +++ b/src/corelib/tools/qiterator.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qline.cpp b/src/corelib/tools/qline.cpp index 0f67652fb5..161123cfff 100644 --- a/src/corelib/tools/qline.cpp +++ b/src/corelib/tools/qline.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qline.h b/src/corelib/tools/qline.h index af2eda0850..956cbf9ce8 100644 --- a/src/corelib/tools/qline.h +++ b/src/corelib/tools/qline.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qlinkedlist.cpp b/src/corelib/tools/qlinkedlist.cpp index e5919363a0..acfbcd07eb 100644 --- a/src/corelib/tools/qlinkedlist.cpp +++ b/src/corelib/tools/qlinkedlist.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qlinkedlist.h b/src/corelib/tools/qlinkedlist.h index 55d229d351..966b74ddfa 100644 --- a/src/corelib/tools/qlinkedlist.h +++ b/src/corelib/tools/qlinkedlist.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qlist.cpp b/src/corelib/tools/qlist.cpp index 2a3695bb35..2afe1ab969 100644 --- a/src/corelib/tools/qlist.cpp +++ b/src/corelib/tools/qlist.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -42,7 +42,9 @@ #include <new> #include "qlist.h" #include "qtools_p.h" + #include <string.h> +#include <stdlib.h> QT_BEGIN_NAMESPACE @@ -82,7 +84,7 @@ QListData::Data *QListData::detach_grow(int *idx, int num) int l = x->end - x->begin; int nl = l + num; int alloc = grow(nl); - Data* t = static_cast<Data *>(qMalloc(DataHeaderSize + alloc * sizeof(void *))); + Data* t = static_cast<Data *>(::malloc(DataHeaderSize + alloc * sizeof(void *))); Q_CHECK_PTR(t); t->ref.initializeOwned(); @@ -124,7 +126,7 @@ QListData::Data *QListData::detach_grow(int *idx, int num) QListData::Data *QListData::detach(int alloc) { Data *x = d; - Data* t = static_cast<Data *>(qMalloc(DataHeaderSize + alloc * sizeof(void *))); + Data* t = static_cast<Data *>(::malloc(DataHeaderSize + alloc * sizeof(void *))); Q_CHECK_PTR(t); t->ref.initializeOwned(); @@ -145,7 +147,7 @@ QListData::Data *QListData::detach(int alloc) void QListData::realloc(int alloc) { Q_ASSERT(d->ref == 1); - Data *x = static_cast<Data *>(qRealloc(d, DataHeaderSize + alloc * sizeof(void *))); + Data *x = static_cast<Data *>(::realloc(d, DataHeaderSize + alloc * sizeof(void *))); Q_CHECK_PTR(x); d = x; diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h index 5c8a58a196..d192d31234 100644 --- a/src/corelib/tools/qlist.h +++ b/src/corelib/tools/qlist.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index d2bb752c6d..1dc384985b 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -56,6 +56,7 @@ QT_END_NAMESPACE #include "qplatformdefs.h" #include "qdatastream.h" +#include "qdebug.h" #include "qstring.h" #include "qlocale.h" #include "qlocale_p.h" @@ -775,6 +776,16 @@ QLocale &QLocale::operator=(const QLocale &other) return *this; } +bool QLocale::operator==(const QLocale &other) const +{ + return d() == other.d() && numberOptions() == other.numberOptions(); +} + +bool QLocale::operator!=(const QLocale &other) const +{ + return d() != other.d() || numberOptions() != other.numberOptions(); +} + /*! \since 4.2 @@ -3315,4 +3326,13 @@ QString QLocale::nativeCountryName() const return getLocaleData(endonyms_data + d()->m_country_endonym_idx, d()->m_country_endonym_size); } +#ifndef QT_NO_DEBUG_STREAM +QDebug operator<<(QDebug dbg, const QLocale &l) +{ + dbg.nospace() << "QLocale(" << qPrintable(QLocale::languageToString(l.language())) + << ", " << qPrintable(QLocale::scriptToString(l.script())) + << ", " << qPrintable(QLocale::countryToString(l.country())) << ')'; + return dbg.space(); +} +#endif QT_END_NAMESPACE diff --git a/src/corelib/tools/qlocale.h b/src/corelib/tools/qlocale.h index 55dd55b984..9bc4ea70b8 100644 --- a/src/corelib/tools/qlocale.h +++ b/src/corelib/tools/qlocale.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -739,8 +739,8 @@ public: QStringList uiLanguages() const; - inline bool operator==(const QLocale &other) const; - inline bool operator!=(const QLocale &other) const; + bool operator==(const QLocale &other) const; + bool operator!=(const QLocale &other) const; static QString languageToString(Language language); static QString countryToString(Country country); @@ -789,10 +789,6 @@ inline QString QLocale::toString(uint i) const { return toString(qulonglong(i)); } inline QString QLocale::toString(float i, char f, int prec) const { return toString(double(i), f, prec); } -inline bool QLocale::operator==(const QLocale &other) const - { return d() == other.d() && numberOptions() == other.numberOptions(); } -inline bool QLocale::operator!=(const QLocale &other) const - { return d() != other.d() || numberOptions() != other.numberOptions(); } inline QString QLocale::toCurrencyString(short i, const QString &symbol) const { return toCurrencyString(qlonglong(i), symbol); } @@ -810,6 +806,10 @@ Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QLocale &); Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QLocale &); #endif +#ifndef QT_NO_DEBUG_STREAM +Q_CORE_EXPORT QDebug operator<<(QDebug, const QLocale &); +#endif + QT_END_NAMESPACE #ifndef QT_NO_SYSTEMLOCALE diff --git a/src/corelib/tools/qlocale.qdoc b/src/corelib/tools/qlocale.qdoc index fd139c3bec..0337c708a9 100644 --- a/src/corelib/tools/qlocale.qdoc +++ b/src/corelib/tools/qlocale.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -89,7 +89,7 @@ pair; it does not use the system locale database. \note For the current keyboard input locale take a look at - QApplication::keyboardInputLocale(). + QInputPanel::locale(). QLocale's data is based on Common Locale Data Repository v1.8.1. @@ -114,7 +114,7 @@ California, Berkeley and its contributors. \sa QString::arg(), QString::toInt(), QString::toDouble(), - QApplication::keyboardInputLocale() + QInputPanel::locale() */ /*! diff --git a/src/corelib/tools/qlocale_data_p.h b/src/corelib/tools/qlocale_data_p.h index 95b23a29a6..a29e40079a 100644 --- a/src/corelib/tools/qlocale_data_p.h +++ b/src/corelib/tools/qlocale_data_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qlocale_icu.cpp b/src/corelib/tools/qlocale_icu.cpp index a04b0bfc5f..0e220ff000 100644 --- a/src/corelib/tools/qlocale_icu.cpp +++ b/src/corelib/tools/qlocale_icu.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qlocale_mac.mm b/src/corelib/tools/qlocale_mac.mm index 82b6b00e5e..ffcbbbca4b 100644 --- a/src/corelib/tools/qlocale_mac.mm +++ b/src/corelib/tools/qlocale_mac.mm @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qlocale_p.h b/src/corelib/tools/qlocale_p.h index b607038aaf..0b229e5e3f 100644 --- a/src/corelib/tools/qlocale_p.h +++ b/src/corelib/tools/qlocale_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qlocale_symbian.cpp b/src/corelib/tools/qlocale_symbian.cpp index a4f6cc8458..abe437fc89 100644 --- a/src/corelib/tools/qlocale_symbian.cpp +++ b/src/corelib/tools/qlocale_symbian.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qlocale_tools.cpp b/src/corelib/tools/qlocale_tools.cpp index 750379c014..8a57a418e4 100644 --- a/src/corelib/tools/qlocale_tools.cpp +++ b/src/corelib/tools/qlocale_tools.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -50,6 +50,10 @@ #include <stdlib.h> #include <time.h> +#ifdef Q_OS_WINCE +# include "qfunctions_wince.h" // for _control87 +#endif + #if defined(Q_OS_LINUX) && !defined(__UCLIBC__) # include <fenv.h> #endif diff --git a/src/corelib/tools/qlocale_tools_p.h b/src/corelib/tools/qlocale_tools_p.h index 996b612208..85e6d3b0d0 100644 --- a/src/corelib/tools/qlocale_tools_p.h +++ b/src/corelib/tools/qlocale_tools_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qlocale_unix.cpp b/src/corelib/tools/qlocale_unix.cpp index 27e1782b93..5839a80e00 100644 --- a/src/corelib/tools/qlocale_unix.cpp +++ b/src/corelib/tools/qlocale_unix.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qlocale_win.cpp b/src/corelib/tools/qlocale_win.cpp index 8b4b1b55bf..c09802879c 100644 --- a/src/corelib/tools/qlocale_win.cpp +++ b/src/corelib/tools/qlocale_win.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qmap.cpp b/src/corelib/tools/qmap.cpp index 76cb203e10..b1e8ecb0ad 100644 --- a/src/corelib/tools/qmap.cpp +++ b/src/corelib/tools/qmap.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -85,7 +85,7 @@ void QMapData::continueFreeData(int offset) if (strictAlignment) qFreeAligned(reinterpret_cast<char *>(prev) - offset); else - qFree(reinterpret_cast<char *>(prev) - offset); + free(reinterpret_cast<char *>(prev) - offset); } delete this; } @@ -127,7 +127,7 @@ QMapData::Node *QMapData::node_create(Node *update[], int offset, int alignment) void *concreteNode = strictAlignment ? qMallocAligned(offset + sizeof(Node) + level * sizeof(Node *), alignment) : - qMalloc(offset + sizeof(Node) + level * sizeof(Node *)); + malloc(offset + sizeof(Node) + level * sizeof(Node *)); Q_CHECK_PTR(concreteNode); Node *abstractNode = reinterpret_cast<Node *>(reinterpret_cast<char *>(concreteNode) + offset); @@ -157,7 +157,7 @@ void QMapData::node_delete(Node *update[], int offset, Node *node) if (strictAlignment) qFreeAligned(reinterpret_cast<char *>(node) - offset); else - qFree(reinterpret_cast<char *>(node) - offset); + free(reinterpret_cast<char *>(node) - offset); } #ifdef QT_QMAP_DEBUG diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h index 362b723b0a..f975b7eb16 100644 --- a/src/corelib/tools/qmap.h +++ b/src/corelib/tools/qmap.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qmargins.cpp b/src/corelib/tools/qmargins.cpp index 9c7dd038e7..e14e2aa227 100644 --- a/src/corelib/tools/qmargins.cpp +++ b/src/corelib/tools/qmargins.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qmargins.h b/src/corelib/tools/qmargins.h index 635ac56137..4e69907440 100644 --- a/src/corelib/tools/qmargins.h +++ b/src/corelib/tools/qmargins.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qpair.h b/src/corelib/tools/qpair.h index 95868840ea..0acd617e26 100644 --- a/src/corelib/tools/qpair.h +++ b/src/corelib/tools/qpair.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qpair.qdoc b/src/corelib/tools/qpair.qdoc index a9d73419ff..26e7c78996 100644 --- a/src/corelib/tools/qpair.qdoc +++ b/src/corelib/tools/qpair.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qpodlist_p.h b/src/corelib/tools/qpodlist_p.h index d06c9479e7..9c03f0e64a 100644 --- a/src/corelib/tools/qpodlist_p.h +++ b/src/corelib/tools/qpodlist_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qpoint.cpp b/src/corelib/tools/qpoint.cpp index bd32fe77b1..9139f4033c 100644 --- a/src/corelib/tools/qpoint.cpp +++ b/src/corelib/tools/qpoint.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qpoint.h b/src/corelib/tools/qpoint.h index b394ece1a6..a6381578d8 100644 --- a/src/corelib/tools/qpoint.h +++ b/src/corelib/tools/qpoint.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qqueue.cpp b/src/corelib/tools/qqueue.cpp index 2f5aae4026..5753c7d695 100644 --- a/src/corelib/tools/qqueue.cpp +++ b/src/corelib/tools/qqueue.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qqueue.h b/src/corelib/tools/qqueue.h index c10e6c0b2b..9aa7a7bdb0 100644 --- a/src/corelib/tools/qqueue.h +++ b/src/corelib/tools/qqueue.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qrect.cpp b/src/corelib/tools/qrect.cpp index 41ec816c46..2d63eb85e6 100644 --- a/src/corelib/tools/qrect.cpp +++ b/src/corelib/tools/qrect.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qrect.h b/src/corelib/tools/qrect.h index 58221f4739..34000750ee 100644 --- a/src/corelib/tools/qrect.h +++ b/src/corelib/tools/qrect.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -136,29 +136,23 @@ public: bool contains(int x, int y) const; // inline methods, _don't_ merge these bool contains(int x, int y, bool proper) const; bool contains(const QRect &r, bool proper = false) const; - QRect unite(const QRect &r) const; // ### Qt 5: make QT4_SUPPORT QRect united(const QRect &other) const; - QRect intersect(const QRect &r) const; // ### Qt 5: make QT4_SUPPORT QRect intersected(const QRect &other) const; bool intersects(const QRect &r) const; +#if QT_DEPRECATED_SINCE(5, 0) + QT_DEPRECATED QRect unite(const QRect &r) const { return united(r); } + QT_DEPRECATED QRect intersect(const QRect &r) const { return intersected(r); } +#endif + friend Q_CORE_EXPORT_INLINE bool operator==(const QRect &, const QRect &); friend Q_CORE_EXPORT_INLINE bool operator!=(const QRect &, const QRect &); private: - // ### Qt 5; remove the ifdef and just have the same order on all platforms. -#if defined(Q_OS_MAC) - int y1; - int x1; - int y2; - int x2; -#else int x1; int y1; int x2; int y2; -#endif - }; Q_DECLARE_TYPEINFO(QRect, Q_MOVABLE_TYPE); @@ -440,24 +434,14 @@ inline QRect& QRect::operator&=(const QRect &r) return *this; } -inline QRect QRect::intersect(const QRect &r) const -{ - return *this & r; -} - inline QRect QRect::intersected(const QRect &other) const { - return intersect(other); -} - -inline QRect QRect::unite(const QRect &r) const -{ - return *this | r; + return *this & other; } inline QRect QRect::united(const QRect &r) const { - return unite(r); + return *this | r; } inline bool operator==(const QRect &r1, const QRect &r2) @@ -557,12 +541,15 @@ public: bool contains(const QPointF &p) const; bool contains(qreal x, qreal y) const; bool contains(const QRectF &r) const; - QRectF unite(const QRectF &r) const; // ### Qt 5: make QT4_SUPPORT QRectF united(const QRectF &other) const; - QRectF intersect(const QRectF &r) const; // ### Qt 5: make QT4_SUPPORT QRectF intersected(const QRectF &other) const; bool intersects(const QRectF &r) const; +#if QT_DEPRECATED_SINCE(5, 0) + QT_DEPRECATED QRectF unite(const QRectF &r) const { return united(r); } + QT_DEPRECATED QRectF intersect(const QRectF &r) const { return intersected(r); } +#endif + friend Q_CORE_EXPORT_INLINE bool operator==(const QRectF &, const QRectF &); friend Q_CORE_EXPORT_INLINE bool operator!=(const QRectF &, const QRectF &); @@ -777,24 +764,14 @@ inline QRectF& QRectF::operator&=(const QRectF &r) return *this; } -inline QRectF QRectF::intersect(const QRectF &r) const -{ - return *this & r; -} - inline QRectF QRectF::intersected(const QRectF &r) const { - return intersect(r); -} - -inline QRectF QRectF::unite(const QRectF &r) const -{ - return *this | r; + return *this & r; } inline QRectF QRectF::united(const QRectF &r) const { - return unite(r); + return *this | r; } inline bool operator==(const QRectF &r1, const QRectF &r2) diff --git a/src/corelib/tools/qrefcount.cpp b/src/corelib/tools/qrefcount.cpp index c40214b2ab..5341d27a91 100644 --- a/src/corelib/tools/qrefcount.cpp +++ b/src/corelib/tools/qrefcount.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qrefcount.h b/src/corelib/tools/qrefcount.h index bf864f2f58..698351456f 100644 --- a/src/corelib/tools/qrefcount.h +++ b/src/corelib/tools/qrefcount.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qregexp.cpp b/src/corelib/tools/qregexp.cpp index 688b38d132..d300ed967d 100644 --- a/src/corelib/tools/qregexp.cpp +++ b/src/corelib/tools/qregexp.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -45,6 +45,7 @@ #include "qbitarray.h" #include "qcache.h" #include "qdatastream.h" +#include "qdebug.h" #include "qlist.h" #include "qmap.h" #include "qmutex.h" @@ -4571,4 +4572,13 @@ QDataStream &operator>>(QDataStream &in, QRegExp ®Exp) } #endif // QT_NO_DATASTREAM +#ifndef QT_NO_DEBUG_STREAM +QDebug operator<<(QDebug dbg, const QRegExp &r) +{ + dbg.nospace() << "QRegExp(patternSyntax=" << r.patternSyntax() + << ", pattern='"<< r.pattern() << "')"; + return dbg.space(); +} +#endif + QT_END_NAMESPACE diff --git a/src/corelib/tools/qregexp.h b/src/corelib/tools/qregexp.h index 4ce2f6e0be..364745e24a 100644 --- a/src/corelib/tools/qregexp.h +++ b/src/corelib/tools/qregexp.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -127,6 +127,10 @@ Q_CORE_EXPORT QDataStream &operator<<(QDataStream &out, const QRegExp ®Exp); Q_CORE_EXPORT QDataStream &operator>>(QDataStream &in, QRegExp ®Exp); #endif +#ifndef QT_NO_DEBUG_STREAM +Q_CORE_EXPORT QDebug operator<<(QDebug, const QRegExp &); +#endif + QT_END_NAMESPACE QT_END_HEADER diff --git a/src/corelib/tools/qringbuffer_p.h b/src/corelib/tools/qringbuffer_p.h index 4a19e12647..6bbce03a44 100644 --- a/src/corelib/tools/qringbuffer_p.h +++ b/src/corelib/tools/qringbuffer_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qscopedpointer.cpp b/src/corelib/tools/qscopedpointer.cpp index 9277a3ebbf..a95468617b 100644 --- a/src/corelib/tools/qscopedpointer.cpp +++ b/src/corelib/tools/qscopedpointer.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qscopedpointer.h b/src/corelib/tools/qscopedpointer.h index a24f62e7ba..41e6dff90c 100644 --- a/src/corelib/tools/qscopedpointer.h +++ b/src/corelib/tools/qscopedpointer.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qscopedpointer_p.h b/src/corelib/tools/qscopedpointer_p.h index 8dcc503ad2..eb7cc80e54 100644 --- a/src/corelib/tools/qscopedpointer_p.h +++ b/src/corelib/tools/qscopedpointer_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qscopedvaluerollback.cpp b/src/corelib/tools/qscopedvaluerollback.cpp index 1ad47f45dd..e5b68ded1f 100644 --- a/src/corelib/tools/qscopedvaluerollback.cpp +++ b/src/corelib/tools/qscopedvaluerollback.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qscopedvaluerollback.h b/src/corelib/tools/qscopedvaluerollback.h index ee62147540..3b821956eb 100644 --- a/src/corelib/tools/qscopedvaluerollback.h +++ b/src/corelib/tools/qscopedvaluerollback.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qset.h b/src/corelib/tools/qset.h index 5f48042114..7ad16a7943 100644 --- a/src/corelib/tools/qset.h +++ b/src/corelib/tools/qset.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -176,9 +176,8 @@ public: typedef iterator Iterator; typedef const_iterator ConstIterator; inline int count() const { return q_hash.count(); } - inline const_iterator insert(const T &value) // ### Qt 5: should return an 'iterator' - { return static_cast<typename Hash::const_iterator>(q_hash.insert(value, - QHashDummyValue())); } + inline iterator insert(const T &value) + { return static_cast<typename Hash::iterator>(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); } @@ -216,17 +215,6 @@ public: { QSet<T> result = *this; result += other; return result; } inline QSet<T> operator-(const QSet<T> &other) const { QSet<T> result = *this; result -= other; return result; } -#if QT_VERSION < 0x050000 - // ### Qt 5: remove - inline QSet<T> operator|(const QSet<T> &other) - { QSet<T> result = *this; result |= other; return result; } - inline QSet<T> operator&(const QSet<T> &other) - { QSet<T> result = *this; result &= other; return result; } - inline QSet<T> operator+(const QSet<T> &other) - { QSet<T> result = *this; result += other; return result; } - inline QSet<T> operator-(const QSet<T> &other) - { QSet<T> result = *this; result -= other; return result; } -#endif QList<T> toList() const; inline QList<T> values() const { return toList(); } diff --git a/src/corelib/tools/qset.qdoc b/src/corelib/tools/qset.qdoc index f562c68b72..28b53e690d 100644 --- a/src/corelib/tools/qset.qdoc +++ b/src/corelib/tools/qset.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qshareddata.cpp b/src/corelib/tools/qshareddata.cpp index ee2b0c4f3c..2995d4a123 100644 --- a/src/corelib/tools/qshareddata.cpp +++ b/src/corelib/tools/qshareddata.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qshareddata.h b/src/corelib/tools/qshareddata.h index 6de6a19289..add8025d5a 100644 --- a/src/corelib/tools/qshareddata.h +++ b/src/corelib/tools/qshareddata.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qsharedpointer.cpp b/src/corelib/tools/qsharedpointer.cpp index 34060926c7..0069eb6831 100644 --- a/src/corelib/tools/qsharedpointer.cpp +++ b/src/corelib/tools/qsharedpointer.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qsharedpointer.h b/src/corelib/tools/qsharedpointer.h index 6b2b41f1de..f4a0c02ebf 100644 --- a/src/corelib/tools/qsharedpointer.h +++ b/src/corelib/tools/qsharedpointer.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h index f03889106f..3cad13856c 100644 --- a/src/corelib/tools/qsharedpointer_impl.h +++ b/src/corelib/tools/qsharedpointer_impl.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp index 3dfe38a4d1..9001c4a399 100644 --- a/src/corelib/tools/qsimd.cpp +++ b/src/corelib/tools/qsimd.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index 296c275b61..2fc6d88fb6 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qsize.cpp b/src/corelib/tools/qsize.cpp index d8bd14de8d..41abb0be17 100644 --- a/src/corelib/tools/qsize.cpp +++ b/src/corelib/tools/qsize.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qsize.h b/src/corelib/tools/qsize.h index adc857be96..c9712b3976 100644 --- a/src/corelib/tools/qsize.h +++ b/src/corelib/tools/qsize.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qstack.cpp b/src/corelib/tools/qstack.cpp index 0fbb8d8516..de851d2f0d 100644 --- a/src/corelib/tools/qstack.cpp +++ b/src/corelib/tools/qstack.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qstack.h b/src/corelib/tools/qstack.h index 224935455d..35518cfe5e 100644 --- a/src/corelib/tools/qstack.h +++ b/src/corelib/tools/qstack.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index d57adbe731..dbe1e913c3 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -1030,7 +1030,7 @@ QString::QString(const QChar *unicode, int size) } else if (size <= 0) { d = const_cast<Data *>(&shared_empty.str); } else { - d = (Data*) qMalloc(sizeof(Data)+(size+1)*sizeof(QChar)); + d = (Data*) ::malloc(sizeof(Data)+(size+1)*sizeof(QChar)); Q_CHECK_PTR(d); d->ref.initializeOwned(); d->size = size; @@ -1062,7 +1062,7 @@ QString::QString(const QChar *unicode) if (!size) { d = const_cast<Data *>(&shared_empty.str); } else { - d = (Data*) qMalloc(sizeof(Data)+(size+1)*sizeof(QChar)); + d = (Data*) ::malloc(sizeof(Data)+(size+1)*sizeof(QChar)); Q_CHECK_PTR(d); d->ref.initializeOwned(); d->size = size; @@ -1087,7 +1087,7 @@ QString::QString(int size, QChar ch) if (size <= 0) { d = const_cast<Data *>(&shared_empty.str); } else { - d = (Data*) qMalloc(sizeof(Data)+(size+1)*sizeof(QChar)); + d = (Data*) ::malloc(sizeof(Data)+(size+1)*sizeof(QChar)); Q_CHECK_PTR(d); d->ref.initializeOwned(); d->size = size; @@ -1111,7 +1111,7 @@ QString::QString(int size, QChar ch) */ QString::QString(int size, Qt::Initialization) { - d = (Data*) qMalloc(sizeof(Data)+(size+1)*sizeof(QChar)); + d = (Data*) ::malloc(sizeof(Data)+(size+1)*sizeof(QChar)); Q_CHECK_PTR(d); d->ref.initializeOwned(); d->size = size; @@ -1133,7 +1133,7 @@ QString::QString(int size, Qt::Initialization) */ QString::QString(QChar ch) { - d = (Data *) qMalloc(sizeof(Data) + 2*sizeof(QChar)); + d = (Data *) ::malloc(sizeof(Data) + 2*sizeof(QChar)); Q_CHECK_PTR(d); d->ref.initializeOwned(); d->size = 1; @@ -1199,7 +1199,7 @@ QString::QString(QChar ch) // ### Qt 5: rename freeData() to avoid confusion. See task 197625. void QString::free(Data *d) { - qFree(d); + ::free(d); } /*! @@ -1312,7 +1312,7 @@ void QString::resize(int size) void QString::realloc(int alloc) { if (d->ref != 1 || d->offset) { - Data *x = static_cast<Data *>(qMalloc(sizeof(Data) + (alloc+1) * sizeof(QChar))); + Data *x = static_cast<Data *>(::malloc(sizeof(Data) + (alloc+1) * sizeof(QChar))); Q_CHECK_PTR(x); x->ref.initializeOwned(); x->size = qMin(alloc, d->size); @@ -1325,7 +1325,7 @@ void QString::realloc(int alloc) QString::free(d); d = x; } else { - Data *p = static_cast<Data *>(qRealloc(d, sizeof(Data) + (alloc+1) * sizeof(QChar))); + Data *p = static_cast<Data *>(::realloc(d, sizeof(Data) + (alloc+1) * sizeof(QChar))); Q_CHECK_PTR(p); d = p; d->alloc = alloc; @@ -1483,11 +1483,11 @@ QString& QString::insert(int i, const QChar *unicode, int size) const ushort *s = (const ushort *)unicode; if (s >= d->data() && s < d->data() + d->alloc) { // Part of me - take a copy - ushort *tmp = static_cast<ushort *>(qMalloc(size * sizeof(QChar))); + ushort *tmp = static_cast<ushort *>(::malloc(size * sizeof(QChar))); Q_CHECK_PTR(tmp); memcpy(tmp, s, size * sizeof(QChar)); insert(i, reinterpret_cast<const QChar *>(tmp), size); - qFree(tmp); + ::free(tmp); return *this; } @@ -1843,7 +1843,7 @@ void QString::replace_helper(uint *indices, int nIndices, int blen, const QChar // (which we could possibly invalidate via a realloc or corrupt via memcpy operations.) QChar *afterBuffer = const_cast<QChar *>(after); if (after >= reinterpret_cast<QChar *>(d->data()) && after < reinterpret_cast<QChar *>(d->data()) + d->size) { - afterBuffer = static_cast<QChar *>(qMalloc(alen*sizeof(QChar))); + afterBuffer = static_cast<QChar *>(::malloc(alen*sizeof(QChar))); Q_CHECK_PTR(afterBuffer); ::memcpy(afterBuffer, after, alen*sizeof(QChar)); } @@ -1898,11 +1898,11 @@ void QString::replace_helper(uint *indices, int nIndices, int blen, const QChar } } QT_CATCH(const std::bad_alloc &) { if (afterBuffer != after) - qFree(afterBuffer); + ::free(afterBuffer); QT_RETHROW; } if (afterBuffer != after) - qFree(afterBuffer); + ::free(afterBuffer); } /*! @@ -3756,7 +3756,7 @@ QString::Data *QString::fromLatin1_helper(const char *str, int size) } else { if (size < 0) size = qstrlen(str); - d = static_cast<Data *>(qMalloc(sizeof(Data) + (size+1) * sizeof(QChar))); + d = static_cast<Data *>(::malloc(sizeof(Data) + (size+1) * sizeof(QChar))); Q_CHECK_PTR(d); d->ref.initializeOwned(); d->size = size; @@ -3818,33 +3818,29 @@ QString::Data *QString::fromAscii_helper(const char *str, int size) return fromLatin1_helper(str, size); } -/*! +/*! \fn QString QString::fromLatin1(const char *str, int size) Returns a QString initialized with the first \a size characters of the Latin-1 string \a str. - If \a size is -1 (default), it is taken to be qstrlen(\a + If \a size is -1 (default), it is taken to be strlen(\a str). \sa toLatin1(), fromAscii(), fromUtf8(), fromLocal8Bit() */ -QString QString::fromLatin1(const char *str, int size) -{ - return QString(fromLatin1_helper(str, size), 0); -} -/*! +/*! \fn QString QString::fromLocal8Bit(const char *str, int size) Returns a QString initialized with the first \a size characters of the 8-bit string \a str. - If \a size is -1 (default), it is taken to be qstrlen(\a + If \a size is -1 (default), it is taken to be strlen(\a str). QTextCodec::codecForLocale() is used to perform the conversion. \sa toLocal8Bit(), fromAscii(), fromLatin1(), fromUtf8() */ -QString QString::fromLocal8Bit(const char *str, int size) +QString QString::fromLocal8Bit_helper(const char *str, int size) { if (!str) return QString(); @@ -3860,11 +3856,11 @@ QString QString::fromLocal8Bit(const char *str, int size) return fromLatin1(str, size); } -/*! +/*! \fn QString QString::fromAscii(const char *, int size); Returns a QString initialized with the first \a size characters from the string \a str. - If \a size is -1 (default), it is taken to be qstrlen(\a + If \a size is -1 (default), it is taken to be strlen(\a str). Note that, despite the name, this function actually uses the codec @@ -3875,16 +3871,12 @@ QString QString::fromLocal8Bit(const char *str, int size) \sa toAscii(), fromLatin1(), fromUtf8(), fromLocal8Bit() */ -QString QString::fromAscii(const char *str, int size) -{ - return QString(fromAscii_helper(str, size), 0); -} -/*! +/*! \fn QString QString::fromUtf8(const char *str, int size) Returns a QString initialized with the first \a size bytes of the UTF-8 string \a str. - If \a size is -1 (default), it is taken to be qstrlen(\a + If \a size is -1 (default), it is taken to be strlen(\a str). UTF-8 is a Unicode codec and can represent all characters in a Unicode @@ -3901,13 +3893,12 @@ QString QString::fromAscii(const char *str, int size) \sa toUtf8(), fromAscii(), fromLatin1(), fromLocal8Bit() */ -QString QString::fromUtf8(const char *str, int size) +QString QString::fromUtf8_helper(const char *str, int size) { if (!str) return QString(); - if (size < 0) - size = qstrlen(str); + Q_ASSERT(size != -1); return QUtf8::convertToUnicode(str, size, 0); } @@ -7072,7 +7063,7 @@ QString QString::fromRawData(const QChar *unicode, int size) } else if (!size) { x = const_cast<Data *>(&shared_empty.str); } else { - x = static_cast<Data *>(qMalloc(sizeof(Data) + sizeof(ushort))); + x = static_cast<Data *>(::malloc(sizeof(Data) + sizeof(ushort))); Q_CHECK_PTR(x); x->ref.initializeOwned(); x->size = size; @@ -8817,13 +8808,37 @@ QString QString::toHtmlEscaped() const Creating a QString from it is free in this case, and the generated string data is stored in the read-only segment of the compiled object file. + For compilers not supporting the creation of compile time strings, QStringLiteral will fall back to + QLatin1String. + + The result of the QStringLiteral expression can be cast into a QString. + + If you have code looking like: + \code + if (node.hasAttribute("http-contents-length")) //... + \endcode + One temporary QString will be created to be passed as the hasAttribute function parameter. + This can be quite expensive, as it involves a memory allocation and the copy and the conversion + of the data into QString's internal encoding. + + This can be avoided by doing + \code + if (node.hasAttribute(QStringLiteral("http-contents-length"))) //... + \endcode + Then the QString's internal data will be generated at compile time and no conversion or allocation + will occur at runtime + Using QStringLiteral instead of a double quoted ascii literal can significantly speed up creation of QString's from data known at compile time. - If the compiler is c++0x enabled the string \a str can actually contain unicode data. + If the compiler is C++11 enabled the string \a str can actually contain unicode data. - For compilers not supporting the creation of compile time strings, QStringLiteral will fall back to - QLatin1String. + \note There are still a few cases in which QLatin1String is more efficient than QStringLiteral: + If it is passed to a function that has an overload that takes the QLatin1String directly, without + conversion to QString. For instance, this is the case of QString::operator== + \code + if (attribute.name() == QLatin1String("http-contents-length")) //... + \endcode */ QT_END_NAMESPACE diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h index 898c80ce35..f7898bbadb 100644 --- a/src/corelib/tools/qstring.h +++ b/src/corelib/tools/qstring.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -49,12 +49,6 @@ #ifndef QT_NO_STL # include <string> - -# ifndef QT_NO_STL_WCHAR -// workaround for some headers not typedef'ing std::wstring -typedef std::basic_string<wchar_t> QStdWString; -# endif // QT_NO_STL_WCHAR - #endif // QT_NO_STL #include <stdarg.h> @@ -407,10 +401,23 @@ public: QByteArray toLocal8Bit() const Q_REQUIRED_RESULT; QVector<uint> toUcs4() const Q_REQUIRED_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); + // note - this are all inline so we can benefit from strlen() compile time optimizations + static inline QString fromAscii(const char *str, int size = -1) + { + return QString(fromAscii_helper(str, (str && size == -1) ? int(strlen(str)) : size), 0); + } + static inline QString fromLatin1(const char *str, int size = -1) + { + return QString(fromLatin1_helper(str, (str && size == -1) ? int(strlen(str)) : size), 0); + } + static inline QString fromUtf8(const char *str, int size = -1) + { + return fromUtf8_helper(str, (str && size == -1) ? int(strlen(str)) : size); + } + static inline QString fromLocal8Bit(const char *str, int size = -1) + { + return fromLocal8Bit_helper(str, (str && size == -1) ? int(strlen(str)) : size); + } static QString fromUtf16(const ushort *, int size = -1); static QString fromUcs4(const uint *, int size = -1); static QString fromRawData(const QChar *, int size); @@ -492,13 +499,14 @@ public: // ASCII compatibility #ifndef QT_NO_CAST_FROM_ASCII - inline QT_ASCII_CAST_WARN_CONSTRUCTOR QString(const char *ch) : d(fromAscii_helper(ch)) + inline QT_ASCII_CAST_WARN_CONSTRUCTOR QString(const char *ch) + : d(fromAscii_helper(ch, ch ? int(strlen(ch)) : -1)) {} inline QT_ASCII_CAST_WARN_CONSTRUCTOR QString(const QByteArray &a) : d(fromAscii_helper(a.constData(), qstrnlen(a.constData(), a.size()))) {} inline QT_ASCII_CAST_WARN QString &operator=(const char *ch) - { return (*this = fromAscii(ch)); } + { return (*this = fromAscii(ch, ch ? int(strlen(ch)) : -1)); } inline QT_ASCII_CAST_WARN QString &operator=(const QByteArray &a) { return (*this = fromAscii(a.constData(), qstrnlen(a.constData(), a.size()))); } inline QT_ASCII_CAST_WARN QString &operator=(char c) @@ -506,15 +514,15 @@ public: // these are needed, so it compiles with STL support enabled inline QT_ASCII_CAST_WARN QString &prepend(const char *s) - { return prepend(QString::fromAscii(s)); } + { return prepend(QString::fromAscii(s, s ? int(strlen(s)) : -1)); } inline QT_ASCII_CAST_WARN QString &prepend(const QByteArray &s) { return prepend(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QT_ASCII_CAST_WARN QString &append(const char *s) - { return append(QString::fromAscii(s)); } + { return append(QString::fromAscii(s, s ? int(strlen(s)) : -1)); } inline QT_ASCII_CAST_WARN QString &append(const QByteArray &s) { return append(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QT_ASCII_CAST_WARN QString &operator+=(const char *s) - { return append(QString::fromAscii(s)); } + { return append(QString::fromAscii(s, s ? int(strlen(s)) : -1)); } inline QT_ASCII_CAST_WARN QString &operator+=(const QByteArray &s) { return append(QString::fromAscii(s.constData(), qstrnlen(s.constData(), s.size()))); } inline QT_ASCII_CAST_WARN QString &operator+=(char c) @@ -562,15 +570,8 @@ public: #ifndef QT_NO_STL static inline QString fromStdString(const std::string &s); inline std::string toStdString() const; -# ifdef qdoc static inline QString fromStdWString(const std::wstring &s); inline std::wstring toStdWString() const; -# else -# ifndef QT_NO_STL_WCHAR - static inline QString fromStdWString(const QStdWString &s); - inline QStdWString toStdWString() const; -# endif // QT_NO_STL_WCHAR -# endif // qdoc #endif // compatibility @@ -625,6 +626,8 @@ private: const QChar *data2, int length2); static Data *fromLatin1_helper(const char *str, int size = -1); static Data *fromAscii_helper(const char *str, int size = -1); + static QString fromUtf8_helper(const char *str, int size); + static QString fromLocal8Bit_helper(const char *, int size); static int toUcs4_helper(const ushort *uc, int length, uint *out); void replace_helper(uint *indices, int nIndices, int blen, const QChar *after, int alen); friend class QCharRef; @@ -662,17 +665,17 @@ public: { return s >= *this; } inline QT_ASCII_CAST_WARN bool operator==(const char *s) const - { return QString::fromAscii(s) == *this; } + { return QString::fromAscii(s, s ? int(strlen(s)) : -1) == *this; } inline QT_ASCII_CAST_WARN bool operator!=(const char *s) const - { return QString::fromAscii(s) != *this; } + { return QString::fromAscii(s, s ? int(strlen(s)) : -1) != *this; } inline QT_ASCII_CAST_WARN bool operator<(const char *s) const - { return QString::fromAscii(s) > *this; } + { return QString::fromAscii(s, s ? int(strlen(s)) : -1) > *this; } inline QT_ASCII_CAST_WARN bool operator>(const char *s) const - { return QString::fromAscii(s) < *this; } + { return QString::fromAscii(s, s ? int(strlen(s)) : -1) < *this; } inline QT_ASCII_CAST_WARN bool operator<=(const char *s) const - { return QString::fromAscii(s) >= *this; } + { return QString::fromAscii(s, s ? int(strlen(s)) : -1) >= *this; } inline QT_ASCII_CAST_WARN bool operator>=(const char *s) const - { return QString::fromAscii(s) <= *this; } + { return QString::fromAscii(s, s ? int(strlen(s)) : -1) <= *this; } private: int m_size; const char *m_data; @@ -925,7 +928,7 @@ inline bool operator!=(const QString &s, QString::Null) { return !s.isNull(); } inline bool qStringComparisonHelper(const QString &s1, const char *s2) { # ifndef QT_NO_TEXTCODEC - if (QString::codecForCStrings) return (s1 == QString::fromAscii(s2)); + if (QString::codecForCStrings) return (s1 == QString::fromAscii(s2, s2 ? int(strlen(s2)) : -1)); # endif return (s1 == QLatin1String(s2)); } @@ -934,39 +937,39 @@ inline bool QString::operator==(const char *s) const 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); } +{ return *this < QString::fromAscii(s, s ? int(strlen(s)) : -1); } inline bool QString::operator>(const char *s) const -{ return *this > QString::fromAscii(s); } +{ return *this > QString::fromAscii(s, s ? int(strlen(s)) : -1); } inline bool QString::operator<=(const char *s) const -{ return *this <= QString::fromAscii(s); } +{ return *this <= QString::fromAscii(s, s ? int(strlen(s)) : -1); } inline bool QString::operator>=(const char *s) const -{ return *this >= QString::fromAscii(s); } +{ return *this >= QString::fromAscii(s, s ? int(strlen(s)) : -1); } inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QString &s2) { return qStringComparisonHelper(s2, s1); } inline QT_ASCII_CAST_WARN bool operator!=(const char *s1, const QString &s2) { return !qStringComparisonHelper(s2, s1); } inline QT_ASCII_CAST_WARN bool operator<(const char *s1, const QString &s2) -{ return (QString::fromAscii(s1) < s2); } +{ return (QString::fromAscii(s1, s1 ? int(strlen(s1)) : -1) < s2); } inline QT_ASCII_CAST_WARN bool operator>(const char *s1, const QString &s2) -{ return (QString::fromAscii(s1) > s2); } +{ return (QString::fromAscii(s1, s1 ? int(strlen(s1)) : -1) > s2); } inline QT_ASCII_CAST_WARN bool operator<=(const char *s1, const QString &s2) -{ return (QString::fromAscii(s1) <= s2); } +{ return (QString::fromAscii(s1, s1 ? int(strlen(s1)) : -1) <= s2); } inline QT_ASCII_CAST_WARN bool operator>=(const char *s1, const QString &s2) -{ return (QString::fromAscii(s1) >= s2); } +{ return (QString::fromAscii(s1, s1 ? int(strlen(s1)) : -1) >= s2); } inline QT_ASCII_CAST_WARN bool operator==(const char *s1, const QLatin1String &s2) -{ return QString::fromAscii(s1) == s2; } +{ return QString::fromAscii(s1, s1 ? int(strlen(s1)) : -1) == s2; } inline QT_ASCII_CAST_WARN bool operator!=(const char *s1, const QLatin1String &s2) -{ return QString::fromAscii(s1) != s2; } +{ return QString::fromAscii(s1, s1 ? int(strlen(s1)) : -1) != s2; } inline QT_ASCII_CAST_WARN bool operator<(const char *s1, const QLatin1String &s2) -{ return (QString::fromAscii(s1) < s2); } +{ return (QString::fromAscii(s1, s1 ? int(strlen(s1)) : -1) < s2); } inline QT_ASCII_CAST_WARN bool operator>(const char *s1, const QLatin1String &s2) -{ return (QString::fromAscii(s1) > s2); } +{ return (QString::fromAscii(s1, s1 ? int(strlen(s1)) : -1) > s2); } inline QT_ASCII_CAST_WARN bool operator<=(const char *s1, const QLatin1String &s2) -{ return (QString::fromAscii(s1) <= s2); } +{ return (QString::fromAscii(s1, s1 ? int(strlen(s1)) : -1) <= s2); } inline QT_ASCII_CAST_WARN bool operator>=(const char *s1, const QLatin1String &s2) -{ return (QString::fromAscii(s1) >= s2); } +{ return (QString::fromAscii(s1, s1 ? int(strlen(s1)) : -1) >= s2); } inline bool operator==(const QLatin1String &s1, const QLatin1String &s2) { return (qstrcmp(s1.latin1(), s2.latin1()) == 0); } @@ -1029,9 +1032,9 @@ inline const QString operator+(QChar s1, const QString &s2) { QString t(s1); t += s2; return t; } # ifndef QT_NO_CAST_FROM_ASCII inline QT_ASCII_CAST_WARN const QString operator+(const QString &s1, const char *s2) -{ QString t(s1); t += QString::fromAscii(s2); return t; } +{ QString t(s1); t += QString::fromAscii(s2, s2 ? int(strlen(s2)) : -1); return t; } inline QT_ASCII_CAST_WARN const QString operator+(const char *s1, const QString &s2) -{ QString t = QString::fromAscii(s1); t += s2; return t; } +{ QString t = QString::fromAscii(s1, s1 ? int(strlen(s1)) : -1); t += s2; return t; } inline QT_ASCII_CAST_WARN const QString operator+(char c, const QString &s) { QString t = s; t.prepend(QChar::fromAscii(c)); return t; } inline QT_ASCII_CAST_WARN const QString operator+(const QString &s, char c) @@ -1050,10 +1053,9 @@ inline std::string QString::toStdString() const inline QString QString::fromStdString(const std::string &s) { return fromAscii(s.data(), int(s.size())); } -# ifndef QT_NO_STL_WCHAR -inline QStdWString QString::toStdWString() const +inline std::wstring QString::toStdWString() const { - QStdWString str; + std::wstring str; str.resize(length()); #if defined(_MSC_VER) && _MSC_VER >= 1400 @@ -1065,9 +1067,8 @@ inline QStdWString QString::toStdWString() const str.resize(toWCharArray(&(*str.begin()))); return str; } -inline QString QString::fromStdWString(const QStdWString &s) +inline QString QString::fromStdWString(const std::wstring &s) { return fromWCharArray(s.data(), int(s.size())); } -# endif #endif #if !defined(QT_NO_DATASTREAM) || (defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE)) @@ -1212,7 +1213,7 @@ inline bool operator>=(const QStringRef &s1, const QStringRef &s2) inline bool qStringComparisonHelper(const QStringRef &s1, const char *s2) { # ifndef QT_NO_TEXTCODEC - if (QString::codecForCStrings) return (s1 == QString::fromAscii(s2)); + if (QString::codecForCStrings) return (s1 == QString::fromAscii(s2, s2 ? int(strlen(s2)) : -1)); # endif return (s1 == QLatin1String(s2)); } diff --git a/src/corelib/tools/qstringbuilder.cpp b/src/corelib/tools/qstringbuilder.cpp index 2b40a68e0b..018a312fa6 100644 --- a/src/corelib/tools/qstringbuilder.cpp +++ b/src/corelib/tools/qstringbuilder.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qstringbuilder.h b/src/corelib/tools/qstringbuilder.h index de6b655e95..016e37fb38 100644 --- a/src/corelib/tools/qstringbuilder.h +++ b/src/corelib/tools/qstringbuilder.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qstringlist.cpp b/src/corelib/tools/qstringlist.cpp index bab7d42215..1fca78b03b 100644 --- a/src/corelib/tools/qstringlist.cpp +++ b/src/corelib/tools/qstringlist.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qstringlist.h b/src/corelib/tools/qstringlist.h index bded94399d..6c32f11096 100644 --- a/src/corelib/tools/qstringlist.h +++ b/src/corelib/tools/qstringlist.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qstringmatcher.cpp b/src/corelib/tools/qstringmatcher.cpp index 0117d78544..36016a9401 100644 --- a/src/corelib/tools/qstringmatcher.cpp +++ b/src/corelib/tools/qstringmatcher.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qstringmatcher.h b/src/corelib/tools/qstringmatcher.h index ed4e503644..9f5e10b942 100644 --- a/src/corelib/tools/qstringmatcher.h +++ b/src/corelib/tools/qstringmatcher.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qtextboundaryfinder.cpp b/src/corelib/tools/qtextboundaryfinder.cpp index aabb6949ad..4554ebb34f 100644 --- a/src/corelib/tools/qtextboundaryfinder.cpp +++ b/src/corelib/tools/qtextboundaryfinder.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qtextboundaryfinder.h b/src/corelib/tools/qtextboundaryfinder.h index 4d5369c3af..3f4f309d31 100644 --- a/src/corelib/tools/qtextboundaryfinder.h +++ b/src/corelib/tools/qtextboundaryfinder.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qtimeline.cpp b/src/corelib/tools/qtimeline.cpp index 0ca406308a..2ff25a9a46 100644 --- a/src/corelib/tools/qtimeline.cpp +++ b/src/corelib/tools/qtimeline.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qtimeline.h b/src/corelib/tools/qtimeline.h index d65822ff40..06a5d76a4b 100644 --- a/src/corelib/tools/qtimeline.h +++ b/src/corelib/tools/qtimeline.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qtools_p.h b/src/corelib/tools/qtools_p.h index 9a7f5dd852..6a1b78b12b 100644 --- a/src/corelib/tools/qtools_p.h +++ b/src/corelib/tools/qtools_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qunicodetables.cpp b/src/corelib/tools/qunicodetables.cpp index 88fd2afb72..7fc09e7d60 100644 --- a/src/corelib/tools/qunicodetables.cpp +++ b/src/corelib/tools/qunicodetables.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qunicodetables_p.h b/src/corelib/tools/qunicodetables_p.h index 0c9bd02c04..0a357c0da6 100644 --- a/src/corelib/tools/qunicodetables_p.h +++ b/src/corelib/tools/qunicodetables_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h index 6da6cf524d..d37389a8dc 100644 --- a/src/corelib/tools/qvarlengtharray.h +++ b/src/corelib/tools/qvarlengtharray.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -95,6 +95,11 @@ public: } inline int size() const { return s; } inline int count() const { return s; } + inline int length() const { return s; } + inline T& first() { Q_ASSERT(!isEmpty()); return *begin(); } + inline const T& first() const { Q_ASSERT(!isEmpty()); return *begin(); } + T& last() { Q_ASSERT(!isEmpty()); return *(end() - 1); } + const T& last() const { Q_ASSERT(!isEmpty()); return *(end() - 1); } inline bool isEmpty() const { return (s == 0); } inline void resize(int size); inline void clear() { resize(0); } diff --git a/src/corelib/tools/qvarlengtharray.qdoc b/src/corelib/tools/qvarlengtharray.qdoc index b1d7a1a5b1..c4198aafa7 100644 --- a/src/corelib/tools/qvarlengtharray.qdoc +++ b/src/corelib/tools/qvarlengtharray.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -118,6 +118,43 @@ \sa isEmpty(), resize() */ +/*! \fn int QVarLengthArray::length() const + + Same as size(). + + \sa isEmpty(), resize() +*/ + +/*! \fn T& QVarLengthArray::first() + + Returns a reference to the first item in the array. The array must + not be empty. If the array can be empty, check isEmpty() before + calling this function. + + \sa last(), isEmpty() +*/ + +/*! \fn const T& QVarLengthArray::first() const + + \overload +*/ + +/*! \fn T& QVarLengthArray::last() + + Returns a reference to the last item in the array. The array must + not be empty. If the array can be empty, check isEmpty() before + calling this function. + + \sa first(), isEmpty() +*/ + +/*! \fn const T& QVarLengthArray::last() const + + \overload +*/ + + + /*! \fn bool QVarLengthArray::isEmpty() const Returns true if the array has size 0; otherwise returns false. diff --git a/src/corelib/tools/qvector.cpp b/src/corelib/tools/qvector.cpp index d4c7fd79f7..59ca11179b 100644 --- a/src/corelib/tools/qvector.cpp +++ b/src/corelib/tools/qvector.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -41,7 +41,9 @@ #include "qvector.h" #include "qtools_p.h" + #include <string.h> +#include <stdlib.h> QT_BEGIN_NAMESPACE @@ -56,7 +58,7 @@ const QVectorData QVectorData::shared_null = { Q_REFCOUNT_INITIALIZE_STATIC, 0, QVectorData *QVectorData::malloc(int sizeofTypedData, int size, int sizeofT, QVectorData *init) { - QVectorData* p = (QVectorData *)qMalloc(sizeofTypedData + (size - 1) * sizeofT); + QVectorData* p = (QVectorData *)::malloc(sizeofTypedData + (size - 1) * sizeofT); Q_CHECK_PTR(p); ::memcpy(p, init, sizeofTypedData + (qMin(size, init->alloc) - 1) * sizeofT); return p; @@ -64,14 +66,14 @@ QVectorData *QVectorData::malloc(int sizeofTypedData, int size, int sizeofT, QVe QVectorData *QVectorData::allocate(int size, int alignment) { - return static_cast<QVectorData *>(alignment > alignmentThreshold() ? qMallocAligned(size, alignment) : qMalloc(size)); + return static_cast<QVectorData *>(alignment > alignmentThreshold() ? qMallocAligned(size, alignment) : ::malloc(size)); } QVectorData *QVectorData::reallocate(QVectorData *x, int newsize, int oldsize, int alignment) { if (alignment > alignmentThreshold()) return static_cast<QVectorData *>(qReallocAligned(x, newsize, oldsize, alignment)); - return static_cast<QVectorData *>(qRealloc(x, newsize)); + return static_cast<QVectorData *>(realloc(x, newsize)); } void QVectorData::free(QVectorData *x, int alignment) @@ -79,7 +81,7 @@ void QVectorData::free(QVectorData *x, int alignment) if (alignment > alignmentThreshold()) qFreeAligned(x); else - qFree(x); + ::free(x); } int QVectorData::grow(int sizeofTypedData, int size, int sizeofT, bool excessive) diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h index f9db421fdb..51364df91d 100644 --- a/src/corelib/tools/qvector.h +++ b/src/corelib/tools/qvector.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** @@ -603,7 +603,7 @@ void QVector<T>::append(const T &t) } template <typename T> -Q_TYPENAME QVector<T>::iterator QVector<T>::insert(iterator before, size_type n, const T &t) +typename QVector<T>::iterator QVector<T>::insert(iterator before, size_type n, const T &t) { int offset = int(before - p->array); if (n != 0) { @@ -637,7 +637,7 @@ Q_TYPENAME QVector<T>::iterator QVector<T>::insert(iterator before, size_type n, } template <typename T> -Q_TYPENAME QVector<T>::iterator QVector<T>::erase(iterator abegin, iterator aend) +typename QVector<T>::iterator QVector<T>::erase(iterator abegin, iterator aend) { int f = int(abegin - p->array); int l = int(aend - p->array); diff --git a/src/corelib/tools/qvsnprintf.cpp b/src/corelib/tools/qvsnprintf.cpp index 0b85cf0c0a..85f8270ffd 100644 --- a/src/corelib/tools/qvsnprintf.cpp +++ b/src/corelib/tools/qvsnprintf.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** |