Aliased names inside template type arguments, e.g. QVector<QRgb> now resolves properly to QVector<unsigned int>. Both C++ types will use the same wrapper, so the former container is no longer instantiated separately, as required by #102.
Aliases to container instantiations, e.g. QObjectList now resolves properly to QList<QObject *>. Consequently, the wrapper for QObject::children() will no longer return a raw pointer to the container after this PR, as long as the appropriate alias is defined in the config file:
Due to recent changes, the type database now has separate rule entries for actual C++ containers (e.g. QList<QWindow *>) and their template-less aliases (e.g. Container_QList_QWindow_X_). This shouldn't affect any existing bindings; in particular, typedefs in the C++ wrappers are unaffected because they are populated by Graph::Alias instead.
This PR adds support for two kinds of aliases:
QVector<QRgb>
now resolves properly toQVector<unsigned int>
. Both C++ types will use the same wrapper, so the former container is no longer instantiated separately, as required by #102.QObjectList
now resolves properly toQList<QObject *>
. Consequently, the wrapper forQObject::children()
will no longer return a raw pointer to the container after this PR, as long as the appropriate alias is defined in the config file:Due to recent changes, the type database now has separate rule entries for actual C++ containers (e.g.
QList<QWindow *>
) and their template-less aliases (e.g.Container_QList_QWindow_X_
). This shouldn't affect any existing bindings; in particular, typedefs in the C++ wrappers are unaffected because they are populated byGraph::Alias
instead.