diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2020-10-23 14:52:41 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2020-11-07 06:25:16 +0100 |
commit | 4398836817dbfcf51c153d53414b2b04c1eab087 (patch) | |
tree | 50c3ac5d7e0b6a62518f84aad8eda8fab7a19e48 /src/corelib/time | |
parent | c81893907ec7134826cb9fb64507e74aeb671c4e (diff) |
Make QDateTime's operators hidden friends
Update docs to match.
Change-Id: I0ece9bcdba69c5dca48743894fe3347d9666f4e4
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/corelib/time')
-rw-r--r-- | src/corelib/time/qdatetime.cpp | 69 | ||||
-rw-r--r-- | src/corelib/time/qdatetime.h | 16 |
2 files changed, 57 insertions, 28 deletions
diff --git a/src/corelib/time/qdatetime.cpp b/src/corelib/time/qdatetime.cpp index 4ab1a9c995..5a546e2380 100644 --- a/src/corelib/time/qdatetime.cpp +++ b/src/corelib/time/qdatetime.cpp @@ -4434,16 +4434,14 @@ QDateTime QDateTime::toTimeZone(const QTimeZone &timeZone) const #endif // timezone /*! + \internal Returns \c true if this datetime is equal to the \a other datetime; otherwise returns \c false. - Since 5.14, all invalid datetimes are equal to one another and differ from - all other datetimes. - - \sa operator!=() + \sa precedes(), operator==() */ -bool QDateTime::operator==(const QDateTime &other) const +bool QDateTime::equals(const QDateTime &other) const { if (!isValid()) return !other.isValid(); @@ -4458,24 +4456,39 @@ bool QDateTime::operator==(const QDateTime &other) const } /*! - \fn bool QDateTime::operator!=(const QDateTime &other) const + \fn bool QDateTime::operator==(const QDateTime &lhs, const QDateTime &rhs) - Returns \c true if this datetime is different from the \a other - datetime; otherwise returns \c false. + Returns \c true if \a lhs is the same as \a rhs; otherwise returns \c false. Two datetimes are different if either the date, the time, or the time zone - components are different. Since 5.14, any invalid datetime is less than all - valid datetimes. + components are different. Since 5.14, all invalid datetime are equal (and + less than all valid datetimes). + + \sa operator!=(), operator<(), operator<=(), operator>(), operator>=() +*/ + +/*! + \fn bool QDateTime::operator!=(const QDateTime &lhs, const QDateTime &rhs) + + Returns \c true if \a lhs is different from \a rhs; otherwise returns \c + false. + + Two datetimes are different if either the date, the time, or the time zone + components are different. Since 5.14, all invalid datetime are equal (and + less than all valid datetimes). \sa operator==() */ /*! - Returns \c true if this datetime is earlier than the \a other + \internal + Returns \c true if \a lhs is earlier than the \a rhs datetime; otherwise returns \c false. + + \sa equals(), operator<() */ -bool QDateTime::operator<(const QDateTime &other) const +bool QDateTime::precedes(const QDateTime &other) const { if (!isValid()) return other.isValid(); @@ -4490,24 +4503,38 @@ bool QDateTime::operator<(const QDateTime &other) const } /*! - \fn bool QDateTime::operator<=(const QDateTime &other) const + \fn bool QDateTime::operator<(const QDateTime &lhs, const QDateTime &rhs) - Returns \c true if this datetime is earlier than or equal to the - \a other datetime; otherwise returns \c false. + Returns \c true if \a lhs is earlier than \a rhs; + otherwise returns \c false. + + \sa operator==() */ /*! - \fn bool QDateTime::operator>(const QDateTime &other) const + \fn bool QDateTime::operator<=(const QDateTime &lhs, const QDateTime &rhs) - Returns \c true if this datetime is later than the \a other datetime; - otherwise returns \c false. + Returns \c true if \a lhs is earlier than or equal to \a rhs; otherwise + returns \c false. + + \sa operator==() +*/ + +/*! + \fn bool QDateTime::operator>(const QDateTime &lhs, const QDateTime &rhs) + + Returns \c true if \a lhs is later than \a rhs; otherwise returns \c false. + + \sa operator==() */ /*! - \fn bool QDateTime::operator>=(const QDateTime &other) const + \fn bool QDateTime::operator>=(const QDateTime &lhs, const QDateTime &rhs) - Returns \c true if this datetime is later than or equal to the - \a other datetime; otherwise returns \c false. + Returns \c true if \a lhs is later than or equal to \a rhs; + otherwise returns \c false. + + \sa operator==() */ /*! diff --git a/src/corelib/time/qdatetime.h b/src/corelib/time/qdatetime.h index e80a5b96d4..7ce7c5f43b 100644 --- a/src/corelib/time/qdatetime.h +++ b/src/corelib/time/qdatetime.h @@ -340,13 +340,6 @@ public: qint64 secsTo(const QDateTime &) const; qint64 msecsTo(const QDateTime &) const; - bool operator==(const QDateTime &other) const; - inline bool operator!=(const QDateTime &other) const { return !(*this == other); } - bool operator<(const QDateTime &other) const; - inline bool operator<=(const QDateTime &other) const { return !(other < *this); } - inline bool operator>(const QDateTime &other) const { return other < *this; } - inline bool operator>=(const QDateTime &other) const { return !(*this < other); } - static QDateTime currentDateTime(); static QDateTime currentDateTimeUtc(); #if QT_CONFIG(datestring) @@ -390,10 +383,19 @@ public: enum class YearRange : qint32 { First = -292275056, Last = +292278994 }; private: + bool equals(const QDateTime &other) const; + bool precedes(const QDateTime &other) const; friend class QDateTimePrivate; Data d; + friend bool operator==(const QDateTime &lhs, const QDateTime &rhs) { return lhs.equals(rhs); } + friend bool operator!=(const QDateTime &lhs, const QDateTime &rhs) { return !(lhs == rhs); } + friend bool operator<(const QDateTime &lhs, const QDateTime &rhs) { return lhs.precedes(rhs); } + friend bool operator<=(const QDateTime &lhs, const QDateTime &rhs) { return !(rhs < lhs); } + friend bool operator>(const QDateTime &lhs, const QDateTime &rhs) { return rhs.precedes(lhs); } + friend bool operator>=(const QDateTime &lhs, const QDateTime &rhs) { return !(lhs < rhs); } + #ifndef QT_NO_DATASTREAM friend Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QDateTime &); friend Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QDateTime &); |