diff options
Diffstat (limited to 'src/corelib/global/qglobal.h')
-rw-r--r-- | src/corelib/global/qglobal.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 273dcb9acb..48ba09075d 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -802,8 +802,20 @@ static inline bool qIsNull(float f) # define Q_DUMMY_COMPARISON_OPERATOR(C) #endif +namespace QtPrivate +{ +namespace SwapExceptionTester { // insulate users from the "using std::swap" below + using std::swap; // import std::swap + template <typename T> + void checkSwap(T &t) + Q_DECL_NOEXCEPT_EXPR(noexcept(swap(t, t))); + // declared, but not implemented (only to be used in unevaluated contexts (noexcept operator)) +} +} // namespace QtPrivate + template <typename T> inline void qSwap(T &value1, T &value2) + Q_DECL_NOEXCEPT_EXPR(noexcept(QtPrivate::SwapExceptionTester::checkSwap(value1))) { using std::swap; swap(value1, value2); |