Some work to handle enums that are larger than 32bit
This will require some more work in QFlags and the metaobject system for Q_ENUM. Change-Id: I3687c7d2529dc18e7bc1abfc326e56ff7a365bc5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
0e6a327f14
commit
4376c4d9d8
@ -956,7 +956,7 @@ void qt_QMetaEnum_flagDebugOperator(QDebug &debug, size_t sizeofT, int value)
|
||||
MyNamespace::MyClass::MyScopedEnum::Enum3
|
||||
MyNamespace::MyClass::MyScopedEnum(456)
|
||||
*/
|
||||
QDebug qt_QMetaEnum_debugOperator(QDebug &dbg, int value, const QMetaObject *meta, const char *name)
|
||||
QDebug qt_QMetaEnum_debugOperator(QDebug &dbg, qint64 value, const QMetaObject *meta, const char *name)
|
||||
{
|
||||
QDebugStateSaver saver(dbg);
|
||||
dbg.nospace();
|
||||
|
@ -388,7 +388,7 @@ void qt_QMetaEnum_flagDebugOperator(QDebug &debug, size_t sizeofT, Int value)
|
||||
}
|
||||
|
||||
#if !defined(QT_NO_QOBJECT) && !defined(Q_QDOC)
|
||||
Q_CORE_EXPORT QDebug qt_QMetaEnum_debugOperator(QDebug&, int value, const QMetaObject *meta, const char *name);
|
||||
Q_CORE_EXPORT QDebug qt_QMetaEnum_debugOperator(QDebug&, qint64 value, const QMetaObject *meta, const char *name);
|
||||
Q_CORE_EXPORT QDebug qt_QMetaEnum_flagDebugOperator(QDebug &dbg, quint64 value, const QMetaObject *meta, const char *name);
|
||||
|
||||
template<typename T>
|
||||
@ -397,7 +397,7 @@ operator<<(QDebug dbg, T value)
|
||||
{
|
||||
const QMetaObject *obj = qt_getEnumMetaObject(value);
|
||||
const char *name = qt_getEnumName(value);
|
||||
return qt_QMetaEnum_debugOperator(dbg, typename QFlags<T>::Int(value), obj, name);
|
||||
return qt_QMetaEnum_debugOperator(dbg, static_cast<typename std::underlying_type<T>::type>(value), obj, name);
|
||||
}
|
||||
|
||||
template<typename T,
|
||||
|
Loading…
x
Reference in New Issue
Block a user