forked from qt-creator/qt-creator
Move some operators out of namespaces
Otherwise, they can mess with overload resolution. Change-Id: I4931744838e033d4502af1d86408fae3db5824bc Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -61,17 +61,18 @@ enum class LanguageExtension : unsigned char {
|
||||
|
||||
Q_DECLARE_FLAGS(LanguageExtensions, LanguageExtension)
|
||||
|
||||
constexpr LanguageExtension operator|(LanguageExtension first, LanguageExtension second)
|
||||
{
|
||||
return static_cast<LanguageExtension>(
|
||||
(static_cast<unsigned char>(first) | static_cast<unsigned char>(second)));
|
||||
}
|
||||
|
||||
constexpr bool operator&&(LanguageExtension first, LanguageExtension second)
|
||||
{
|
||||
return static_cast<unsigned char>(first) & static_cast<unsigned char>(second);
|
||||
}
|
||||
|
||||
enum class QtVersion { Unknown = -1, None, Qt4, Qt5 };
|
||||
|
||||
} // namespace Utils
|
||||
|
||||
constexpr Utils::LanguageExtension operator|(Utils::LanguageExtension first,
|
||||
Utils::LanguageExtension second)
|
||||
{
|
||||
return Utils::LanguageExtension(static_cast<unsigned char>(first)
|
||||
| static_cast<unsigned char>(second));
|
||||
}
|
||||
|
||||
constexpr bool operator&&(Utils::LanguageExtension first, Utils::LanguageExtension second)
|
||||
{
|
||||
return static_cast<unsigned char>(first) & static_cast<unsigned char>(second);
|
||||
}
|
||||
|
@@ -56,29 +56,31 @@ enum class WarningFlags {
|
||||
NonVirtualDestructor = 1 << 26
|
||||
};
|
||||
|
||||
inline WarningFlags operator|(WarningFlags first, WarningFlags second)
|
||||
} // namespace ProjectExplorer
|
||||
|
||||
inline ProjectExplorer::WarningFlags operator|(ProjectExplorer::WarningFlags first,
|
||||
ProjectExplorer::WarningFlags second)
|
||||
{
|
||||
return static_cast<WarningFlags>(static_cast<int>(first) | static_cast<int>(second));
|
||||
return ProjectExplorer::WarningFlags(int(first) | int(second));
|
||||
}
|
||||
|
||||
inline WarningFlags operator&(WarningFlags first, WarningFlags second)
|
||||
inline ProjectExplorer::WarningFlags operator&(ProjectExplorer::WarningFlags first,
|
||||
ProjectExplorer::WarningFlags second)
|
||||
{
|
||||
return static_cast<WarningFlags>(static_cast<int>(first) & static_cast<int>(second));
|
||||
return ProjectExplorer::WarningFlags(int(first) & int(second));
|
||||
}
|
||||
|
||||
inline void operator|=(WarningFlags &first, WarningFlags second)
|
||||
inline void operator|=(ProjectExplorer::WarningFlags &first, ProjectExplorer::WarningFlags second)
|
||||
{
|
||||
first = first | second;
|
||||
}
|
||||
|
||||
inline void operator&=(WarningFlags &first, WarningFlags second)
|
||||
inline void operator&=(ProjectExplorer::WarningFlags &first, ProjectExplorer::WarningFlags second)
|
||||
{
|
||||
first = first & second;
|
||||
}
|
||||
|
||||
inline WarningFlags operator~(WarningFlags flags)
|
||||
inline ProjectExplorer::WarningFlags operator~(ProjectExplorer::WarningFlags flags)
|
||||
{
|
||||
return static_cast<WarningFlags>(~static_cast<int>(flags));
|
||||
return ProjectExplorer::WarningFlags(~int(flags));
|
||||
}
|
||||
|
||||
} // namespace ProjectExplorer
|
||||
|
Reference in New Issue
Block a user