diff --git a/src/libs/utils/smallstringiterator.h b/src/libs/utils/smallstringiterator.h index 8dd2386d36e..1217e4bd2b9 100644 --- a/src/libs/utils/smallstringiterator.h +++ b/src/libs/utils/smallstringiterator.h @@ -39,6 +39,7 @@ template struct SmallStringIterator : public std::iterator { + constexpr SmallStringIterator() noexcept = default; constexpr diff --git a/src/libs/utils/smallstringliteral.h b/src/libs/utils/smallstringliteral.h index a62dc25259b..9ed2ce91145 100644 --- a/src/libs/utils/smallstringliteral.h +++ b/src/libs/utils/smallstringliteral.h @@ -66,11 +66,13 @@ public: return Q_LIKELY(isShortString()) ? m_data.shortString.shortStringSize : m_data.allocated.data.size; } + constexpr const_iterator begin() const noexcept { return data(); } + constexpr const_iterator end() const noexcept { return data() + size(); @@ -102,6 +104,7 @@ public: return m_data.shortString.isReadOnlyReference; } + constexpr operator SmallStringView() const { return SmallStringView(data(), size()); diff --git a/src/libs/utils/smallstringview.h b/src/libs/utils/smallstringview.h index 3798cb6e4e8..e2c3f7ea92d 100644 --- a/src/libs/utils/smallstringview.h +++ b/src/libs/utils/smallstringview.h @@ -97,11 +97,13 @@ public: return m_size == 0; } + constexpr const_iterator begin() const noexcept { return data(); } + constexpr const_iterator end() const noexcept { return data() + size(); @@ -140,8 +142,6 @@ public: return m_pointer[0] == characterToSearch; } - - private: const char *m_pointer; size_type m_size;