On 26.06.2012 23:17, Olivier Goffart wrote: > > I'm not sure the class name is that important. > I mean, if Foo<int>().metaObject()->className() is just "Foo" it is still ok. > Because it is hard to support, and hardly usefull.
OK, I thought className() is used by qobject_cast, but it isn't, so it's maybe really not that important. But I could imagine when you do alot gui stuff dynamically the class name would be usefully. A simple grep and wc in qtbase/src gives 158 hits, so it is used. > > Also remember that template parametter can be more complex than just a type. > It probably should support stuff as complicated as this > > template<template<typename ... U> class T, > typename T<>::size_type = sizeof(T<>)> class Bar; > (I think i made that quite complicated already) Yes, currently removing 'class' and 'typename' within <...> must give valid signature, anything else is not supported. But this is an isolated piece of code, and could be replaced by a more sophisticated code later. > > The fact that you have that macro Q_QOBJECT_TEMPLATE_USED limit you to only > one parametter (because you cannot have coma in macro) > (But we could say it is ok to only support multple parametter with compiler > that support variadic macros) Or we introduce Q_QOBJECT_TEMPLATE_USED_1(x) Q_QOBJECT_TEMPLATE_USED_2(x,y) ... > > > But to answer your question, the extraData is not being used currently and is > reserved for future use, so yes, it can be used. > What is missing atm, are some tests for linking. I assume there will be linker errors because of the statics when the header is included in multiple files. And for Dlls it would be even more complicated. Peter _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development