summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qflags.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/global/qflags.h')
-rw-r--r--src/corelib/global/qflags.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/corelib/global/qflags.h b/src/corelib/global/qflags.h
index dd4222b89f..9e97724fec 100644
--- a/src/corelib/global/qflags.h
+++ b/src/corelib/global/qflags.h
@@ -53,13 +53,19 @@ class QFlag
{
int i;
public:
- Q_DECL_CONSTEXPR inline QFlag(int i);
+#if !defined(__LP64__) && !defined(Q_QDOC)
+ Q_DECL_CONSTEXPR inline QFlag(long ai) : i(int(ai)) {}
+ Q_DECL_CONSTEXPR inline QFlag(ulong ai) : i(int(long(ai))) {}
+#endif
+ Q_DECL_CONSTEXPR inline QFlag(int ai) : i(ai) {}
+ Q_DECL_CONSTEXPR inline QFlag(uint ai) : i(int(ai)) {}
+ Q_DECL_CONSTEXPR inline QFlag(short ai) : i(int(ai)) {}
+ Q_DECL_CONSTEXPR inline QFlag(ushort ai) : i(int(uint(ai))) {}
Q_DECL_CONSTEXPR inline operator int() const { return i; }
+ Q_DECL_CONSTEXPR inline operator uint() const { return uint(i); }
};
Q_DECLARE_TYPEINFO(QFlag, Q_PRIMITIVE_TYPE);
-Q_DECL_CONSTEXPR inline QFlag::QFlag(int ai) : i(ai) {}
-
class QIncompatibleFlag
{
int i;