$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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