diff --git a/src/libs/utils/smallstring.h b/src/libs/utils/smallstring.h index c64e46f6f87..2ef565bde2e 100644 --- a/src/libs/utils/smallstring.h +++ b/src/libs/utils/smallstring.h @@ -203,6 +203,15 @@ public: SmallStringView toStringView() const noexcept { return SmallStringView(data(), size()); } operator SmallStringView() const noexcept { return SmallStringView(data(), size()); } + explicit operator QLatin1StringView() const noexcept + { + return QLatin1StringView(data(), Utils::ssize(*this)); + } + + operator QUtf8StringView() const noexcept + { + return QUtf8StringView(data(), Utils::ssize(*this)); + } explicit operator QString() const noexcept { return toQString(); } diff --git a/src/libs/utils/smallstringview.h b/src/libs/utils/smallstringview.h index 982192c7a44..28f8b781501 100644 --- a/src/libs/utils/smallstringview.h +++ b/src/libs/utils/smallstringview.h @@ -3,6 +3,7 @@ #pragma once +#include "algorithm.h" #include "smallstringfwd.h" #include "smallstringiterator.h" @@ -76,11 +77,17 @@ public: return QString::fromUtf8(data(), int(size())); } - explicit operator QByteArray() const + explicit operator QByteArray() const { return QByteArray(data(), int(size())); } + + explicit operator QLatin1StringView() const noexcept { - return QByteArray(data(), int(size())); + return QLatin1StringView(data(), Utils::ssize(*this)); } + operator QUtf8StringView() const noexcept + { + return QUtf8StringView(data(), Utils::ssize(*this)); + } constexpr bool startsWith(SmallStringView subStringToSearch) const noexcept { if (size() >= subStringToSearch.size())