Alors utilise plustôt celui la. Le mélange boost et qt ne pose pas de problème normalement.
Version imprimable
... mais ce n'etait pas le probleme
je viens de tester donc non il n'y as pas de copie copie tant que ton fonctor utilise des references
c'est cool merci.
avec TBB c'est dur aussi de trouver des examples simple, en tout les cas aussi simple que Qt (une seule fonction)....
quelqu'un en aurait-il ?
voila, je viens juste de retrouver l'exact post qui confirme mon test sur Q_FOREACH
http://lists.trolltech.com/qt-intere.../msg00999.html
Citation:
Ian Reinhart Geiser wrote:
> Greetings,
> I want to make my container work with foreach.
> Is it documented the minimum set of methods I need
> to implement to make this happen? I can read the
> source if I have to, but I wanted to avoid that ;)
Be careful. Qt's foreach implementation (which I found pretty cool
actually because the interface 'just feels right') invokes the
container's copy constructor. So depending on your compilers
ability to optimize and the nature of your container this could
be quite expensive.
Qt's own container work rather well because they are shared, but
that's not necessarily true for your own stuff.
I once had quite some code written with 'foreach', but in the
end was forced to replace most of the uses with more traditional
constructs.
Andre'
Salut.
C'est bien ce que l'on avais conclu, non?
As tu avancé sur ta comparaison tbb et QtConcurrent?
non, tu avais conclu qu'il ne faisait pas de copie si tu utilisais des references.
mais moi j'avais trouvé qu'il faisait des copies de la collection, et pas toi.
peut-etre il a changé depuis, ou bien ton compilo l'optimisait et pas le mien.
et sinon non je n'ai pas avancé sur la comparaison TBB vs Qt
je suis sur autre chose maintenant :-)
arg en plus c'est écrit dans la doc, je viens juste de le retrouver:
Citation:
Qt automatically takes a copy of the container when it enters a foreach loop. If you modify the container as you are iterating, that won't affect the loop. (If you don't modify the container, the copy still takes place, but thanks to implicit sharing copying a container is very fast.) Similarly, declaring the variable to be a non-const reference, in order to modify the current item in the list will not work either.