QmlDesigner: Adapt comparisons to C++20

Change-Id: Ic4855335cdc1deda9520b7954dd3fd1584c30d3f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Marco Bubke
2025-02-25 16:06:11 +01:00
parent d07458c8f8
commit 0667e60047
4 changed files with 7 additions and 43 deletions

View File

@@ -174,7 +174,7 @@ public:
SmallStringView toStringView() const noexcept { return SmallStringView(data(), size()); }
operator SmallStringView() const noexcept { return SmallStringView(data(), size()); }
constexpr operator SmallStringView() const noexcept { return SmallStringView(data(), size()); }
explicit operator QLatin1StringView() const noexcept
{

View File

@@ -110,36 +110,16 @@ public:
}
};
constexpr bool operator!=(SmallStringView first, SmallStringView second) noexcept
inline constexpr auto operator<=>(const SmallStringView &first, const SmallStringView &second)
{
return std::string_view{first} != std::string_view{second};
return std::string_view{first} <=> std::string_view{second};
}
constexpr bool operator==(SmallStringView first, SmallStringView second) noexcept
inline constexpr bool operator==(const SmallStringView &first, const SmallStringView &second)
{
return std::string_view{first} == std::string_view{second};
}
constexpr bool operator<(SmallStringView first, SmallStringView second) noexcept
{
return std::string_view{first} < std::string_view{second};
}
constexpr bool operator>(SmallStringView first, SmallStringView second) noexcept
{
return std::string_view{first} > std::string_view{second};
}
constexpr bool operator<=(SmallStringView first, SmallStringView second) noexcept
{
return std::string_view{first} <= std::string_view{second};
}
constexpr bool operator>=(SmallStringView first, SmallStringView second) noexcept
{
return std::string_view{first} >= std::string_view{second};
}
constexpr int compare(SmallStringView first, SmallStringView second) noexcept
{
return first.compare(second);

View File

@@ -85,7 +85,7 @@ public:
QmlModelState savedState;
Internal::DebugView debugView;
Sqlite::Database auxiliaryDataDatabase{
Utils::PathString{Core::ICore::userResourcePath("auxiliary_data.db").toUrlishString()},
Utils::PathString{Core::ICore::userResourcePath("auxiliary_data.db").path()},
Sqlite::JournalMode::Wal,
Sqlite::LockingMode::Normal};
AuxiliaryPropertyStorageView auxiliaryDataKeyView;

View File

@@ -34,29 +34,13 @@ public:
operator BasicAuxiliaryDataKey<Utils::SmallStringView>() const { return {type, name}; }
constexpr auto operator<=>(const BasicAuxiliaryDataKey &) const = default;
public:
AuxiliaryDataType type = AuxiliaryDataType::None;
NameType name;
};
template<typename First, typename Second>
bool operator<(const BasicAuxiliaryDataKey<First> &first, const BasicAuxiliaryDataKey<Second> &second)
{
return std::tie(first.type, first.name) < std::tie(second.type, second.name);
}
template<typename First, typename Second>
bool operator==(const BasicAuxiliaryDataKey<First> &first, const BasicAuxiliaryDataKey<Second> &second)
{
return first.type == second.type && first.name == second.name;
}
template<typename First, typename Second>
bool operator!=(const BasicAuxiliaryDataKey<First> &first, const BasicAuxiliaryDataKey<Second> &second)
{
return !(first == second);
}
using AuxiliaryDataKey = BasicAuxiliaryDataKey<Utils::SmallString>;
using AuxiliaryDataKeyView = BasicAuxiliaryDataKey<Utils::SmallStringView>;
using AuxiliaryData = std::pair<AuxiliaryDataKey, QVariant>;