From: Douglas Paul Gregor (gregod_at_[hidden])
Date: 2004-05-04 13:24:10


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