From c5a4b093d051680bf7f34bb5acff16eea9d4979f Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 26 Jul 2016 20:01:57 +0200 Subject: Add QMetaEnum::isScoped to be able to destinguish C++11 enum class Change-Id: I67b1dbd069fa57bd60e50690abb5d876edc0d1d2 Reviewed-by: Simon Hausmann Reviewed-by: Thiago Macieira --- src/corelib/kernel/qmetaobject.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/corelib/kernel/qmetaobject.cpp') diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 633fcfda91..2e0dd8e5d2 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -2557,9 +2557,19 @@ int QMetaEnum::value(int index) const */ bool QMetaEnum::isFlag() const { - return mobj && mobj->d.data[handle + 1]; + return mobj && mobj->d.data[handle + 1] & EnumIsFlag; } +/*! + \since 5.8 + + Returns \c true if this enumerator is declared as a C++11 enum class; + otherwise returns false. +*/ +bool QMetaEnum::isScoped() const +{ + return mobj && mobj->d.data[handle + 1] & EnumIsScoped; +} /*! Returns the scope this enumerator was declared in. -- cgit v1.2.3