
7 or 8 months ago, Edward Diener proposed deterministic slot ordering for Signals, allowing one to better arrange slot call order: http://article.gmane.org/gmane.comp.lib.boost.devel/25152/ I've now, finally, implemented his suggestions. The results are in CVS. The user-visible changes are: - By default, slots are called in the order they are connected. Groups still go in order, with unnamed slots at the end, but now connection order in a group determines invocation order. This probably won't change anything in user code, because multimaps tend to act this way anyway. - The "connect" methods now have an "at" parameter which may be set to "at_front" or "at_back". at_front means to connect the slot at the front of the slot list (before any grouped slots, or before any other slots in that group) whereas at_back means to connect the slot at the back of the slot list (after any grouped slots, or after any other slots in that group). The simple version of user-visible changes: sig.connect(Hello()); sig.connect(World()); sig(); Now this is guaranteed to print "Hello, world!", eliminating a massive source of confusion. With any luck, I haven't introduced too many new bugs. All regression tests pass for me, but of course I'd appreciate feedback. Doug