From ceb753626f694c8539c1155528886feb6dc18c80 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 26 Dec 2014 21:43:40 +0100 Subject: QSize: plaster API with Q_DECL_NOTHROW This is mostly straight-forward, but some things are worth noting: 1. Yes, this is necessary. The noexcept operator looks for noexcept tagging, not at the contents of the function to determine whether to return true. The more conditionally-noexcept functions are used, the more important it becomes that low-level classes are correctly marked noexcept. In that, it is like constexpr. 2. In accordance with the rules governing noexcept specifications for the standard library itself, the operator/-family of functions are not marked as noexcept, since they have preconditions and thus a narrow contract. Narrow-contract functions should not be noexcept. All other functions have wide contracts (ie. no preconditions). Change-Id: I9fc94218a2728c272483f9c2826c265f5b11c9b4 Reviewed-by: Thiago Macieira --- src/corelib/tools/qsize.cpp | 8 +- src/corelib/tools/qsize.h | 248 ++++++++++++++++++++++---------------------- 2 files changed, 128 insertions(+), 128 deletions(-) diff --git a/src/corelib/tools/qsize.cpp b/src/corelib/tools/qsize.cpp index 4c124162a1..12673ccd0c 100644 --- a/src/corelib/tools/qsize.cpp +++ b/src/corelib/tools/qsize.cpp @@ -156,7 +156,7 @@ QT_BEGIN_NAMESPACE \sa setWidth(), setHeight(), transposed() */ -void QSize::transpose() +void QSize::transpose() Q_DECL_NOTHROW { int tmp = wd; wd = ht; @@ -217,7 +217,7 @@ void QSize::transpose() Return a size scaled to a rectangle with the given size \a s, according to the specified \a mode. */ -QSize QSize::scaled(const QSize &s, Qt::AspectRatioMode mode) const +QSize QSize::scaled(const QSize &s, Qt::AspectRatioMode mode) const Q_DECL_NOTHROW { if (mode == Qt::IgnoreAspectRatio || wd == 0 || ht == 0) { return s; @@ -590,7 +590,7 @@ QDebug operator<<(QDebug dbg, const QSize &s) \sa setWidth(), setHeight(), transposed() */ -void QSizeF::transpose() +void QSizeF::transpose() Q_DECL_NOTHROW { qreal tmp = wd; wd = ht; @@ -651,7 +651,7 @@ void QSizeF::transpose() Returns a size scaled to a rectangle with the given size \a s, according to the specified \a mode. */ -QSizeF QSizeF::scaled(const QSizeF &s, Qt::AspectRatioMode mode) const +QSizeF QSizeF::scaled(const QSizeF &s, Qt::AspectRatioMode mode) const Q_DECL_NOTHROW { if (mode == Qt::IgnoreAspectRatio || qIsNull(wd) || qIsNull(ht)) { return s; diff --git a/src/corelib/tools/qsize.h b/src/corelib/tools/qsize.h index 90222ba822..037b532f37 100644 --- a/src/corelib/tools/qsize.h +++ b/src/corelib/tools/qsize.h @@ -42,42 +42,42 @@ QT_BEGIN_NAMESPACE class Q_CORE_EXPORT QSize { public: - Q_DECL_CONSTEXPR QSize(); - Q_DECL_CONSTEXPR QSize(int w, int h); - - Q_DECL_CONSTEXPR inline bool isNull() const; - Q_DECL_CONSTEXPR inline bool isEmpty() const; - Q_DECL_CONSTEXPR inline bool isValid() const; - - Q_DECL_CONSTEXPR inline int width() const; - Q_DECL_CONSTEXPR inline int height() const; - Q_DECL_RELAXED_CONSTEXPR inline void setWidth(int w); - Q_DECL_RELAXED_CONSTEXPR inline void setHeight(int h); - void transpose(); - Q_DECL_CONSTEXPR inline QSize transposed() const; - - inline void scale(int w, int h, Qt::AspectRatioMode mode); - inline void scale(const QSize &s, Qt::AspectRatioMode mode); - QSize scaled(int w, int h, Qt::AspectRatioMode mode) const; - QSize scaled(const QSize &s, Qt::AspectRatioMode mode) const; - - Q_DECL_CONSTEXPR inline QSize expandedTo(const QSize &) const; - Q_DECL_CONSTEXPR inline QSize boundedTo(const QSize &) const; - - Q_DECL_RELAXED_CONSTEXPR inline int &rwidth(); - Q_DECL_RELAXED_CONSTEXPR inline int &rheight(); - - Q_DECL_RELAXED_CONSTEXPR inline QSize &operator+=(const QSize &); - Q_DECL_RELAXED_CONSTEXPR inline QSize &operator-=(const QSize &); - Q_DECL_RELAXED_CONSTEXPR inline QSize &operator*=(qreal c); + Q_DECL_CONSTEXPR QSize() Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR QSize(int w, int h) Q_DECL_NOTHROW; + + Q_DECL_CONSTEXPR inline bool isNull() const Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR inline bool isEmpty() const Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR inline bool isValid() const Q_DECL_NOTHROW; + + Q_DECL_CONSTEXPR inline int width() const Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR inline int height() const Q_DECL_NOTHROW; + Q_DECL_RELAXED_CONSTEXPR inline void setWidth(int w) Q_DECL_NOTHROW; + Q_DECL_RELAXED_CONSTEXPR inline void setHeight(int h) Q_DECL_NOTHROW; + void transpose() Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR inline QSize transposed() const Q_DECL_NOTHROW; + + inline void scale(int w, int h, Qt::AspectRatioMode mode) Q_DECL_NOTHROW; + inline void scale(const QSize &s, Qt::AspectRatioMode mode) Q_DECL_NOTHROW; + QSize scaled(int w, int h, Qt::AspectRatioMode mode) const Q_DECL_NOTHROW; + QSize scaled(const QSize &s, Qt::AspectRatioMode mode) const Q_DECL_NOTHROW; + + Q_DECL_CONSTEXPR inline QSize expandedTo(const QSize &) const Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR inline QSize boundedTo(const QSize &) const Q_DECL_NOTHROW; + + Q_DECL_RELAXED_CONSTEXPR inline int &rwidth() Q_DECL_NOTHROW; + Q_DECL_RELAXED_CONSTEXPR inline int &rheight() Q_DECL_NOTHROW; + + Q_DECL_RELAXED_CONSTEXPR inline QSize &operator+=(const QSize &) Q_DECL_NOTHROW; + Q_DECL_RELAXED_CONSTEXPR inline QSize &operator-=(const QSize &) Q_DECL_NOTHROW; + Q_DECL_RELAXED_CONSTEXPR inline QSize &operator*=(qreal c) Q_DECL_NOTHROW; inline QSize &operator/=(qreal c); - friend inline Q_DECL_CONSTEXPR bool operator==(const QSize &, const QSize &); - friend inline Q_DECL_CONSTEXPR bool operator!=(const QSize &, const QSize &); - friend inline Q_DECL_CONSTEXPR const QSize operator+(const QSize &, const QSize &); - friend inline Q_DECL_CONSTEXPR const QSize operator-(const QSize &, const QSize &); - friend inline Q_DECL_CONSTEXPR const QSize operator*(const QSize &, qreal); - friend inline Q_DECL_CONSTEXPR const QSize operator*(qreal, const QSize &); + friend inline Q_DECL_CONSTEXPR bool operator==(const QSize &, const QSize &) Q_DECL_NOTHROW; + friend inline Q_DECL_CONSTEXPR bool operator!=(const QSize &, const QSize &) Q_DECL_NOTHROW; + friend inline Q_DECL_CONSTEXPR const QSize operator+(const QSize &, const QSize &) Q_DECL_NOTHROW; + friend inline Q_DECL_CONSTEXPR const QSize operator-(const QSize &, const QSize &) Q_DECL_NOTHROW; + friend inline Q_DECL_CONSTEXPR const QSize operator*(const QSize &, qreal) Q_DECL_NOTHROW; + friend inline Q_DECL_CONSTEXPR const QSize operator*(qreal, const QSize &) Q_DECL_NOTHROW; friend inline const QSize operator/(const QSize &, qreal); private: @@ -100,74 +100,74 @@ Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QSize &); QSize inline functions *****************************************************************************/ -Q_DECL_CONSTEXPR inline QSize::QSize() : wd(-1), ht(-1) {} +Q_DECL_CONSTEXPR inline QSize::QSize() Q_DECL_NOTHROW : wd(-1), ht(-1) {} -Q_DECL_CONSTEXPR inline QSize::QSize(int w, int h) : wd(w), ht(h) {} +Q_DECL_CONSTEXPR inline QSize::QSize(int w, int h) Q_DECL_NOTHROW : wd(w), ht(h) {} -Q_DECL_CONSTEXPR inline bool QSize::isNull() const +Q_DECL_CONSTEXPR inline bool QSize::isNull() const Q_DECL_NOTHROW { return wd==0 && ht==0; } -Q_DECL_CONSTEXPR inline bool QSize::isEmpty() const +Q_DECL_CONSTEXPR inline bool QSize::isEmpty() const Q_DECL_NOTHROW { return wd<1 || ht<1; } -Q_DECL_CONSTEXPR inline bool QSize::isValid() const +Q_DECL_CONSTEXPR inline bool QSize::isValid() const Q_DECL_NOTHROW { return wd>=0 && ht>=0; } -Q_DECL_CONSTEXPR inline int QSize::width() const +Q_DECL_CONSTEXPR inline int QSize::width() const Q_DECL_NOTHROW { return wd; } -Q_DECL_CONSTEXPR inline int QSize::height() const +Q_DECL_CONSTEXPR inline int QSize::height() const Q_DECL_NOTHROW { return ht; } -Q_DECL_RELAXED_CONSTEXPR inline void QSize::setWidth(int w) +Q_DECL_RELAXED_CONSTEXPR inline void QSize::setWidth(int w) Q_DECL_NOTHROW { wd = w; } -Q_DECL_RELAXED_CONSTEXPR inline void QSize::setHeight(int h) +Q_DECL_RELAXED_CONSTEXPR inline void QSize::setHeight(int h) Q_DECL_NOTHROW { ht = h; } -Q_DECL_CONSTEXPR inline QSize QSize::transposed() const +Q_DECL_CONSTEXPR inline QSize QSize::transposed() const Q_DECL_NOTHROW { return QSize(ht, wd); } -inline void QSize::scale(int w, int h, Qt::AspectRatioMode mode) +inline void QSize::scale(int w, int h, Qt::AspectRatioMode mode) Q_DECL_NOTHROW { scale(QSize(w, h), mode); } -inline void QSize::scale(const QSize &s, Qt::AspectRatioMode mode) +inline void QSize::scale(const QSize &s, Qt::AspectRatioMode mode) Q_DECL_NOTHROW { *this = scaled(s, mode); } -inline QSize QSize::scaled(int w, int h, Qt::AspectRatioMode mode) const +inline QSize QSize::scaled(int w, int h, Qt::AspectRatioMode mode) const Q_DECL_NOTHROW { return scaled(QSize(w, h), mode); } -Q_DECL_RELAXED_CONSTEXPR inline int &QSize::rwidth() +Q_DECL_RELAXED_CONSTEXPR inline int &QSize::rwidth() Q_DECL_NOTHROW { return wd; } -Q_DECL_RELAXED_CONSTEXPR inline int &QSize::rheight() +Q_DECL_RELAXED_CONSTEXPR inline int &QSize::rheight() Q_DECL_NOTHROW { return ht; } -Q_DECL_RELAXED_CONSTEXPR inline QSize &QSize::operator+=(const QSize &s) +Q_DECL_RELAXED_CONSTEXPR inline QSize &QSize::operator+=(const QSize &s) Q_DECL_NOTHROW { wd+=s.wd; ht+=s.ht; return *this; } -Q_DECL_RELAXED_CONSTEXPR inline QSize &QSize::operator-=(const QSize &s) +Q_DECL_RELAXED_CONSTEXPR inline QSize &QSize::operator-=(const QSize &s) Q_DECL_NOTHROW { wd-=s.wd; ht-=s.ht; return *this; } -Q_DECL_RELAXED_CONSTEXPR inline QSize &QSize::operator*=(qreal c) +Q_DECL_RELAXED_CONSTEXPR inline QSize &QSize::operator*=(qreal c) Q_DECL_NOTHROW { wd = qRound(wd*c); ht = qRound(ht*c); return *this; } -Q_DECL_CONSTEXPR inline bool operator==(const QSize &s1, const QSize &s2) +Q_DECL_CONSTEXPR inline bool operator==(const QSize &s1, const QSize &s2) Q_DECL_NOTHROW { return s1.wd == s2.wd && s1.ht == s2.ht; } -Q_DECL_CONSTEXPR inline bool operator!=(const QSize &s1, const QSize &s2) +Q_DECL_CONSTEXPR inline bool operator!=(const QSize &s1, const QSize &s2) Q_DECL_NOTHROW { return s1.wd != s2.wd || s1.ht != s2.ht; } -Q_DECL_CONSTEXPR inline const QSize operator+(const QSize & s1, const QSize & s2) +Q_DECL_CONSTEXPR inline const QSize operator+(const QSize & s1, const QSize & s2) Q_DECL_NOTHROW { return QSize(s1.wd+s2.wd, s1.ht+s2.ht); } -Q_DECL_CONSTEXPR inline const QSize operator-(const QSize &s1, const QSize &s2) +Q_DECL_CONSTEXPR inline const QSize operator-(const QSize &s1, const QSize &s2) Q_DECL_NOTHROW { return QSize(s1.wd-s2.wd, s1.ht-s2.ht); } -Q_DECL_CONSTEXPR inline const QSize operator*(const QSize &s, qreal c) +Q_DECL_CONSTEXPR inline const QSize operator*(const QSize &s, qreal c) Q_DECL_NOTHROW { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } -Q_DECL_CONSTEXPR inline const QSize operator*(qreal c, const QSize &s) +Q_DECL_CONSTEXPR inline const QSize operator*(qreal c, const QSize &s) Q_DECL_NOTHROW { return QSize(qRound(s.wd*c), qRound(s.ht*c)); } inline QSize &QSize::operator/=(qreal c) @@ -183,12 +183,12 @@ inline const QSize operator/(const QSize &s, qreal c) return QSize(qRound(s.wd/c), qRound(s.ht/c)); } -Q_DECL_CONSTEXPR inline QSize QSize::expandedTo(const QSize & otherSize) const +Q_DECL_CONSTEXPR inline QSize QSize::expandedTo(const QSize & otherSize) const Q_DECL_NOTHROW { return QSize(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); } -Q_DECL_CONSTEXPR inline QSize QSize::boundedTo(const QSize & otherSize) const +Q_DECL_CONSTEXPR inline QSize QSize::boundedTo(const QSize & otherSize) const Q_DECL_NOTHROW { return QSize(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); } @@ -201,46 +201,46 @@ Q_CORE_EXPORT QDebug operator<<(QDebug, const QSize &); class Q_CORE_EXPORT QSizeF { public: - Q_DECL_CONSTEXPR QSizeF(); - Q_DECL_CONSTEXPR QSizeF(const QSize &sz); - Q_DECL_CONSTEXPR QSizeF(qreal w, qreal h); - - inline bool isNull() const; - Q_DECL_CONSTEXPR inline bool isEmpty() const; - Q_DECL_CONSTEXPR inline bool isValid() const; - - Q_DECL_CONSTEXPR inline qreal width() const; - Q_DECL_CONSTEXPR inline qreal height() const; - Q_DECL_RELAXED_CONSTEXPR inline void setWidth(qreal w); - Q_DECL_RELAXED_CONSTEXPR inline void setHeight(qreal h); - void transpose(); - Q_DECL_CONSTEXPR inline QSizeF transposed() const; - - inline void scale(qreal w, qreal h, Qt::AspectRatioMode mode); - inline void scale(const QSizeF &s, Qt::AspectRatioMode mode); - QSizeF scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const; - QSizeF scaled(const QSizeF &s, Qt::AspectRatioMode mode) const; - - Q_DECL_CONSTEXPR inline QSizeF expandedTo(const QSizeF &) const; - Q_DECL_CONSTEXPR inline QSizeF boundedTo(const QSizeF &) const; - - Q_DECL_RELAXED_CONSTEXPR inline qreal &rwidth(); - Q_DECL_RELAXED_CONSTEXPR inline qreal &rheight(); - - Q_DECL_RELAXED_CONSTEXPR inline QSizeF &operator+=(const QSizeF &); - Q_DECL_RELAXED_CONSTEXPR inline QSizeF &operator-=(const QSizeF &); - Q_DECL_RELAXED_CONSTEXPR inline QSizeF &operator*=(qreal c); + Q_DECL_CONSTEXPR QSizeF() Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR QSizeF(const QSize &sz) Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR QSizeF(qreal w, qreal h) Q_DECL_NOTHROW; + + inline bool isNull() const Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR inline bool isEmpty() const Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR inline bool isValid() const Q_DECL_NOTHROW; + + Q_DECL_CONSTEXPR inline qreal width() const Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR inline qreal height() const Q_DECL_NOTHROW; + Q_DECL_RELAXED_CONSTEXPR inline void setWidth(qreal w) Q_DECL_NOTHROW; + Q_DECL_RELAXED_CONSTEXPR inline void setHeight(qreal h) Q_DECL_NOTHROW; + void transpose() Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR inline QSizeF transposed() const Q_DECL_NOTHROW; + + inline void scale(qreal w, qreal h, Qt::AspectRatioMode mode) Q_DECL_NOTHROW; + inline void scale(const QSizeF &s, Qt::AspectRatioMode mode) Q_DECL_NOTHROW; + QSizeF scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const Q_DECL_NOTHROW; + QSizeF scaled(const QSizeF &s, Qt::AspectRatioMode mode) const Q_DECL_NOTHROW; + + Q_DECL_CONSTEXPR inline QSizeF expandedTo(const QSizeF &) const Q_DECL_NOTHROW; + Q_DECL_CONSTEXPR inline QSizeF boundedTo(const QSizeF &) const Q_DECL_NOTHROW; + + Q_DECL_RELAXED_CONSTEXPR inline qreal &rwidth() Q_DECL_NOTHROW; + Q_DECL_RELAXED_CONSTEXPR inline qreal &rheight() Q_DECL_NOTHROW; + + Q_DECL_RELAXED_CONSTEXPR inline QSizeF &operator+=(const QSizeF &) Q_DECL_NOTHROW; + Q_DECL_RELAXED_CONSTEXPR inline QSizeF &operator-=(const QSizeF &) Q_DECL_NOTHROW; + Q_DECL_RELAXED_CONSTEXPR inline QSizeF &operator*=(qreal c) Q_DECL_NOTHROW; inline QSizeF &operator/=(qreal c); - friend Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &, const QSizeF &); - friend Q_DECL_CONSTEXPR inline bool operator!=(const QSizeF &, const QSizeF &); - friend Q_DECL_CONSTEXPR inline const QSizeF operator+(const QSizeF &, const QSizeF &); - friend Q_DECL_CONSTEXPR inline const QSizeF operator-(const QSizeF &, const QSizeF &); - friend Q_DECL_CONSTEXPR inline const QSizeF operator*(const QSizeF &, qreal); - friend Q_DECL_CONSTEXPR inline const QSizeF operator*(qreal, const QSizeF &); + friend Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &, const QSizeF &) Q_DECL_NOTHROW; + friend Q_DECL_CONSTEXPR inline bool operator!=(const QSizeF &, const QSizeF &) Q_DECL_NOTHROW; + friend Q_DECL_CONSTEXPR inline const QSizeF operator+(const QSizeF &, const QSizeF &) Q_DECL_NOTHROW; + friend Q_DECL_CONSTEXPR inline const QSizeF operator-(const QSizeF &, const QSizeF &) Q_DECL_NOTHROW; + friend Q_DECL_CONSTEXPR inline const QSizeF operator*(const QSizeF &, qreal) Q_DECL_NOTHROW; + friend Q_DECL_CONSTEXPR inline const QSizeF operator*(qreal, const QSizeF &) Q_DECL_NOTHROW; friend inline const QSizeF operator/(const QSizeF &, qreal); - Q_DECL_CONSTEXPR inline QSize toSize() const; + Q_DECL_CONSTEXPR inline QSize toSize() const Q_DECL_NOTHROW; private: qreal wd; @@ -263,76 +263,76 @@ Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QSizeF &); QSizeF inline functions *****************************************************************************/ -Q_DECL_CONSTEXPR inline QSizeF::QSizeF() : wd(-1.), ht(-1.) {} +Q_DECL_CONSTEXPR inline QSizeF::QSizeF() Q_DECL_NOTHROW : wd(-1.), ht(-1.) {} -Q_DECL_CONSTEXPR inline QSizeF::QSizeF(const QSize &sz) : wd(sz.width()), ht(sz.height()) {} +Q_DECL_CONSTEXPR inline QSizeF::QSizeF(const QSize &sz) Q_DECL_NOTHROW : wd(sz.width()), ht(sz.height()) {} -Q_DECL_CONSTEXPR inline QSizeF::QSizeF(qreal w, qreal h) : wd(w), ht(h) {} +Q_DECL_CONSTEXPR inline QSizeF::QSizeF(qreal w, qreal h) Q_DECL_NOTHROW : wd(w), ht(h) {} -inline bool QSizeF::isNull() const +inline bool QSizeF::isNull() const Q_DECL_NOTHROW { return qIsNull(wd) && qIsNull(ht); } -Q_DECL_CONSTEXPR inline bool QSizeF::isEmpty() const +Q_DECL_CONSTEXPR inline bool QSizeF::isEmpty() const Q_DECL_NOTHROW { return wd <= 0. || ht <= 0.; } -Q_DECL_CONSTEXPR inline bool QSizeF::isValid() const +Q_DECL_CONSTEXPR inline bool QSizeF::isValid() const Q_DECL_NOTHROW { return wd >= 0. && ht >= 0.; } -Q_DECL_CONSTEXPR inline qreal QSizeF::width() const +Q_DECL_CONSTEXPR inline qreal QSizeF::width() const Q_DECL_NOTHROW { return wd; } -Q_DECL_CONSTEXPR inline qreal QSizeF::height() const +Q_DECL_CONSTEXPR inline qreal QSizeF::height() const Q_DECL_NOTHROW { return ht; } -Q_DECL_RELAXED_CONSTEXPR inline void QSizeF::setWidth(qreal w) +Q_DECL_RELAXED_CONSTEXPR inline void QSizeF::setWidth(qreal w) Q_DECL_NOTHROW { wd = w; } -Q_DECL_RELAXED_CONSTEXPR inline void QSizeF::setHeight(qreal h) +Q_DECL_RELAXED_CONSTEXPR inline void QSizeF::setHeight(qreal h) Q_DECL_NOTHROW { ht = h; } -Q_DECL_CONSTEXPR inline QSizeF QSizeF::transposed() const +Q_DECL_CONSTEXPR inline QSizeF QSizeF::transposed() const Q_DECL_NOTHROW { return QSizeF(ht, wd); } -inline void QSizeF::scale(qreal w, qreal h, Qt::AspectRatioMode mode) +inline void QSizeF::scale(qreal w, qreal h, Qt::AspectRatioMode mode) Q_DECL_NOTHROW { scale(QSizeF(w, h), mode); } -inline void QSizeF::scale(const QSizeF &s, Qt::AspectRatioMode mode) +inline void QSizeF::scale(const QSizeF &s, Qt::AspectRatioMode mode) Q_DECL_NOTHROW { *this = scaled(s, mode); } -inline QSizeF QSizeF::scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const +inline QSizeF QSizeF::scaled(qreal w, qreal h, Qt::AspectRatioMode mode) const Q_DECL_NOTHROW { return scaled(QSizeF(w, h), mode); } -Q_DECL_RELAXED_CONSTEXPR inline qreal &QSizeF::rwidth() +Q_DECL_RELAXED_CONSTEXPR inline qreal &QSizeF::rwidth() Q_DECL_NOTHROW { return wd; } -Q_DECL_RELAXED_CONSTEXPR inline qreal &QSizeF::rheight() +Q_DECL_RELAXED_CONSTEXPR inline qreal &QSizeF::rheight() Q_DECL_NOTHROW { return ht; } -Q_DECL_RELAXED_CONSTEXPR inline QSizeF &QSizeF::operator+=(const QSizeF &s) +Q_DECL_RELAXED_CONSTEXPR inline QSizeF &QSizeF::operator+=(const QSizeF &s) Q_DECL_NOTHROW { wd += s.wd; ht += s.ht; return *this; } -Q_DECL_RELAXED_CONSTEXPR inline QSizeF &QSizeF::operator-=(const QSizeF &s) +Q_DECL_RELAXED_CONSTEXPR inline QSizeF &QSizeF::operator-=(const QSizeF &s) Q_DECL_NOTHROW { wd -= s.wd; ht -= s.ht; return *this; } -Q_DECL_RELAXED_CONSTEXPR inline QSizeF &QSizeF::operator*=(qreal c) +Q_DECL_RELAXED_CONSTEXPR inline QSizeF &QSizeF::operator*=(qreal c) Q_DECL_NOTHROW { wd *= c; ht *= c; return *this; } -Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &s1, const QSizeF &s2) +Q_DECL_CONSTEXPR inline bool operator==(const QSizeF &s1, const QSizeF &s2) Q_DECL_NOTHROW { return qFuzzyCompare(s1.wd, s2.wd) && qFuzzyCompare(s1.ht, s2.ht); } -Q_DECL_CONSTEXPR inline bool operator!=(const QSizeF &s1, const QSizeF &s2) +Q_DECL_CONSTEXPR inline bool operator!=(const QSizeF &s1, const QSizeF &s2) Q_DECL_NOTHROW { return !qFuzzyCompare(s1.wd, s2.wd) || !qFuzzyCompare(s1.ht, s2.ht); } -Q_DECL_CONSTEXPR inline const QSizeF operator+(const QSizeF & s1, const QSizeF & s2) +Q_DECL_CONSTEXPR inline const QSizeF operator+(const QSizeF & s1, const QSizeF & s2) Q_DECL_NOTHROW { return QSizeF(s1.wd+s2.wd, s1.ht+s2.ht); } -Q_DECL_CONSTEXPR inline const QSizeF operator-(const QSizeF &s1, const QSizeF &s2) +Q_DECL_CONSTEXPR inline const QSizeF operator-(const QSizeF &s1, const QSizeF &s2) Q_DECL_NOTHROW { return QSizeF(s1.wd-s2.wd, s1.ht-s2.ht); } -Q_DECL_CONSTEXPR inline const QSizeF operator*(const QSizeF &s, qreal c) +Q_DECL_CONSTEXPR inline const QSizeF operator*(const QSizeF &s, qreal c) Q_DECL_NOTHROW { return QSizeF(s.wd*c, s.ht*c); } -Q_DECL_CONSTEXPR inline const QSizeF operator*(qreal c, const QSizeF &s) +Q_DECL_CONSTEXPR inline const QSizeF operator*(qreal c, const QSizeF &s) Q_DECL_NOTHROW { return QSizeF(s.wd*c, s.ht*c); } inline QSizeF &QSizeF::operator/=(qreal c) @@ -348,17 +348,17 @@ inline const QSizeF operator/(const QSizeF &s, qreal c) return QSizeF(s.wd/c, s.ht/c); } -Q_DECL_CONSTEXPR inline QSizeF QSizeF::expandedTo(const QSizeF & otherSize) const +Q_DECL_CONSTEXPR inline QSizeF QSizeF::expandedTo(const QSizeF & otherSize) const Q_DECL_NOTHROW { return QSizeF(qMax(wd,otherSize.wd), qMax(ht,otherSize.ht)); } -Q_DECL_CONSTEXPR inline QSizeF QSizeF::boundedTo(const QSizeF & otherSize) const +Q_DECL_CONSTEXPR inline QSizeF QSizeF::boundedTo(const QSizeF & otherSize) const Q_DECL_NOTHROW { return QSizeF(qMin(wd,otherSize.wd), qMin(ht,otherSize.ht)); } -Q_DECL_CONSTEXPR inline QSize QSizeF::toSize() const +Q_DECL_CONSTEXPR inline QSize QSizeF::toSize() const Q_DECL_NOTHROW { return QSize(qRound(wd), qRound(ht)); } -- cgit v1.2.3