QtCS2016 MetaObject: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Created)
 
(Mark with category)
 
Line 1: Line 1:
[[Category:QtCS2016]]
* qMetaType<const T>() == qMetaType<T>()
* qMetaType<const T>() == qMetaType<T>()
** Because QMetaObject::normalizedType("const T") == "T"
** Because QMetaObject::normalizedType("const T") == "T"

Latest revision as of 08:17, 12 September 2016

  • qMetaType<const T>() == qMetaType<T>()
    • Because QMetaObject::normalizedType("const T") == "T"
    • Fix it
  • Q_NAMESPACE
    • Keep it in 5.8
    • look into having it with multiple .h
    • Q_ENUM_NS(OtherNamespace::Enum) or using Enum = OtherNamespace::Enum; is a good idea
  • Direct property access via the qt_static_metacall
    • qdbusxml2cpp
    • Add property & setProperty to QDBusAbstractInterfaceBase
  • Generated hash table
    • properties, methods, enums
    • hashing table needs to encode the type (Q_SIGNAL_CODE)
    • perfect hashing doesn't help
    • check if we can encode the hashing of the entire hierarchy
    • "prelink" the class to its parent, recursively, but check at runtime
  • For Qt6:
    • metatype vs C++ RTTI
    • qMetaType<T>() == &typeid(T)