forked from qt-creator/qt-creator
QmlDesigner: Adapt comparisons to C++20
Change-Id: Ic4855335cdc1deda9520b7954dd3fd1584c30d3f Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -174,7 +174,7 @@ public:
|
|||||||
|
|
||||||
SmallStringView toStringView() const noexcept { return SmallStringView(data(), size()); }
|
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
|
explicit operator QLatin1StringView() const noexcept
|
||||||
{
|
{
|
||||||
|
@@ -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};
|
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
|
constexpr int compare(SmallStringView first, SmallStringView second) noexcept
|
||||||
{
|
{
|
||||||
return first.compare(second);
|
return first.compare(second);
|
||||||
|
@@ -85,7 +85,7 @@ public:
|
|||||||
QmlModelState savedState;
|
QmlModelState savedState;
|
||||||
Internal::DebugView debugView;
|
Internal::DebugView debugView;
|
||||||
Sqlite::Database auxiliaryDataDatabase{
|
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::JournalMode::Wal,
|
||||||
Sqlite::LockingMode::Normal};
|
Sqlite::LockingMode::Normal};
|
||||||
AuxiliaryPropertyStorageView auxiliaryDataKeyView;
|
AuxiliaryPropertyStorageView auxiliaryDataKeyView;
|
||||||
|
@@ -34,29 +34,13 @@ public:
|
|||||||
|
|
||||||
operator BasicAuxiliaryDataKey<Utils::SmallStringView>() const { return {type, name}; }
|
operator BasicAuxiliaryDataKey<Utils::SmallStringView>() const { return {type, name}; }
|
||||||
|
|
||||||
|
constexpr auto operator<=>(const BasicAuxiliaryDataKey &) const = default;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
AuxiliaryDataType type = AuxiliaryDataType::None;
|
AuxiliaryDataType type = AuxiliaryDataType::None;
|
||||||
NameType name;
|
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 AuxiliaryDataKey = BasicAuxiliaryDataKey<Utils::SmallString>;
|
||||||
using AuxiliaryDataKeyView = BasicAuxiliaryDataKey<Utils::SmallStringView>;
|
using AuxiliaryDataKeyView = BasicAuxiliaryDataKey<Utils::SmallStringView>;
|
||||||
using AuxiliaryData = std::pair<AuxiliaryDataKey, QVariant>;
|
using AuxiliaryData = std::pair<AuxiliaryDataKey, QVariant>;
|
||||||
|
Reference in New Issue
Block a user