
From: "Douglas Paul Gregor" <gregod@cs.rpi.edu> To: <boost@lists.boost.org> Sent: Sunday, March 07, 2004 8:22 PM Subject: Re: [boost] enumeration interface for boost::signals [...]
No, it wasn't. What sort of application do you need it for? It's interesting.
I am trying to use boost::signals in my GUI project. The capturing feature is needed when a window has many separate regions (each region is a slot) and a region wants to capture all mouse events after the mouse enters this region. It is a very typical situation. The ability to enumerate slots in a defined order is necessary for building something similar to callback chains. For instance, in Win32 you can insert your window callback function into the existing chain. Something like callback prev_cb; void my_callback() { if( some condition ) { prev_cb(); //propagate the signal futher do_something1(); } else { do_something2(); return; //stop signal propagation } } main() { window w; prev_cb = register_callback(w, my_callback) } I am not sure what's the best way to implement something like this with boost::signals. It seems to me that we need a finer control over the slots. Eugene