diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-01-08 15:08:22 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2015-01-10 08:43:15 +0100 |
commit | 390b16aea85e64bc33ce91e37898f59ad8a994c7 (patch) | |
tree | 0cefc9dd8f47cfca2af11e0337c26d22fc7af063 /src/corelib/tools/qhash.h | |
parent | 2c2801860dde4d707af9ce291489bee1750955d1 (diff) | |
download | qtbase-390b16aea85e64bc33ce91e37898f59ad8a994c7.tar.gz |
QtCore: mark some operations nothrow
This shotgun-surgery approach is motivated by trying to get a
clean(er) build for -Wnoexcept on GCC, so it is expected that
for any class touched here, there will be more operations that
can be marked nothrow. But they don't show up in conditional
noexcept clauses, yet, so they are deferred to some later
commit.
Change-Id: I0eb10d75a26c361fb22cf785399e83b434bdf233
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools/qhash.h')
-rw-r--r-- | src/corelib/tools/qhash.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h index 2a2c840c23..13006095e6 100644 --- a/src/corelib/tools/qhash.h +++ b/src/corelib/tools/qhash.h @@ -328,7 +328,7 @@ class QHash static inline int alignOfNode() { return qMax<int>(sizeof(void*), Q_ALIGNOF(Node)); } public: - inline QHash() : d(const_cast<QHashData *>(&QHashData::shared_null)) { } + inline QHash() Q_DECL_NOTHROW : d(const_cast<QHashData *>(&QHashData::shared_null)) { } #ifdef Q_COMPILER_INITIALIZER_LISTS inline QHash(std::initializer_list<std::pair<Key,T> > list) : d(const_cast<QHashData *>(&QHashData::shared_null)) @@ -343,11 +343,11 @@ public: QHash<Key, T> &operator=(const QHash<Key, T> &other); #ifdef Q_COMPILER_RVALUE_REFS - inline QHash(QHash<Key, T> &&other) : d(other.d) { other.d = const_cast<QHashData *>(&QHashData::shared_null); } - inline QHash<Key, T> &operator=(QHash<Key, T> &&other) + inline QHash(QHash<Key, T> &&other) Q_DECL_NOTHROW : d(other.d) { other.d = const_cast<QHashData *>(&QHashData::shared_null); } + inline QHash<Key, T> &operator=(QHash<Key, T> &&other) Q_DECL_NOTHROW { qSwap(d, other.d); return *this; } #endif - inline void swap(QHash<Key, T> &other) { qSwap(d, other.d); } + inline void swap(QHash<Key, T> &other) Q_DECL_NOTHROW { qSwap(d, other.d); } bool operator==(const QHash<Key, T> &other) const; inline bool operator!=(const QHash<Key, T> &other) const { return !(*this == other); } |