QMap/QHash: mark isEmpty() / empty() as [[nodiscard]]

Cone of shame, they should've been marked as such since day 1.

Change-Id: I9aaf6567e183e4ece5443f4fbf12eb3a251501d5
Pick-to: 6.8 6.5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Giuseppe D'Angelo 2024-12-03 14:06:17 +01:00
parent 95c55d6f32
commit 091bb2f997
2 changed files with 9 additions and 0 deletions

View File

@ -945,6 +945,8 @@ public:
#endif // Q_QDOC
inline qsizetype size() const noexcept { return d ? qsizetype(d->size) : 0; }
[[nodiscard]]
inline bool isEmpty() const noexcept { return !d || d->size == 0; }
inline qsizetype capacity() const noexcept { return d ? qsizetype(d->numBuckets >> 1) : 0; }
@ -1442,6 +1444,7 @@ public:
size_t bucket_count() const noexcept { return d ? d->numBuckets : 0; }
static size_t max_bucket_count() noexcept { return Data::maxNumBuckets(); }
[[nodiscard]]
inline bool empty() const noexcept { return isEmpty(); }
private:
@ -1708,6 +1711,7 @@ public:
inline qsizetype size() const noexcept { return m_size; }
[[nodiscard]]
inline bool isEmpty() const noexcept { return !m_size; }
inline qsizetype capacity() const noexcept { return d ? qsizetype(d->numBuckets >> 1) : 0; }
@ -2217,6 +2221,7 @@ public:
size_t bucket_count() const noexcept { return d ? d->numBuckets : 0; }
static size_t max_bucket_count() noexcept { return Data::maxNumBuckets(); }
[[nodiscard]]
inline bool empty() const noexcept { return isEmpty(); }
inline iterator replace(const Key &key, const T &value)

View File

@ -268,6 +268,7 @@ public:
size_type size() const { return d ? size_type(d->m.size()) : size_type(0); }
[[nodiscard]]
bool isEmpty() const { return d ? d->m.empty() : true; }
void detach()
@ -760,6 +761,7 @@ public:
}
// STL compatibility
[[nodiscard]]
inline bool empty() const
{
return isEmpty();
@ -939,6 +941,7 @@ public:
size_type size() const { return d ? size_type(d->m.size()) : size_type(0); }
[[nodiscard]]
bool isEmpty() const { return d ? d->m.empty() : true; }
void detach()
@ -1519,6 +1522,7 @@ public:
}
// STL compatibility
[[nodiscard]]
inline bool empty() const { return isEmpty(); }
std::pair<iterator, iterator> equal_range(const Key &akey)