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)
|
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 };
|
enum class QtVersion { Unknown = -1, None, Qt4, Qt5 };
|
||||||
|
|
||||||
} // namespace Utils
|
} // 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
|
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;
|
first = first | second;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void operator&=(WarningFlags &first, WarningFlags second)
|
inline void operator&=(ProjectExplorer::WarningFlags &first, ProjectExplorer::WarningFlags second)
|
||||||
{
|
{
|
||||||
first = first & 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