"Douglas Paul Gregor" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > On Tue, 24 Dec 2002, Edward Diener wrote: > > One should be able to order the call of slots when connecting them to a > > signal by saying that a slot should currently come first or last in the > > overall order without having to manually manufacturer low and high group > > numbers. This is especially so because disparate slots will not know about > > the group numbers of other slots in a signal-slot system. > > This could be simulated with an appropriate wrapper around the GroupName > template parameter. In fact, that is probably the best solution ("don't > pay for what you don't use" philosophy).
In the doc I am looking at group numbers being passed in the boost::signal<>::connect function. I was thinking along the lines of 'connect(LAST,function_object)' or 'connect(FIRST,function_object)' perhaps using negative group numbers in your implementation. I don't know if this could be done or how much work it would take to do it. I was surprised that the normal connect, without group numbers, did not have the calling of slots in the same order as the connecting to a signal. > > > One should be able to say sig.disconnect(someslot) in the same way that one > > says sig,connect(someslot). > > If I could do it, I would. Unfortunately, this requires comparison of, > e.g., Boost.Function objects which can't generally be done. It _may_ be > possible to do in limited cases, however. OK, I see that now. I didn't realize on first reading that disconnecting occurred by holding on to the return value of the connection and calling disconnect on it at some later time. Makes sense. > > > Combiners are neat but a better explanation of their general signature(s) > > would be appreciated. I can just make it out from the examples but I imagine > > other users might not be able to. > > Noted. I'll introduce more documentation and additional examples > describing combiners in the near future. Good. Makes it easier to designer one's own combiners and understand how to do it.. > > > Borland has had a simple signal/slot mechanism in C++ Builder (__closures) > > at least 7 years previous to MS .NET's incarnation. Just thought you should > > know. > > Yes, Borland's event/closure mechanism should be mentioned. (It should > probably also be supported directly in Boost.Function, but that's another > matter). Supporting Borland's event/closure mechanism in Boost.Function might mean supporting an extension to C++. Perhaps Boost doesn't want to do things like that if they already have a good pure C++ way of doing things like Boost.Function and Boost.Bind along with Boost.Signal. Also, out of pure interest, Microsoft's latest VC++ .NET has their own __event mechanism extension for unmanaged C++ code which is slightly different than their 'delegate' mechanism for managed C++ .NET code ( and C# of course ). I mentioned Borland only because your notes on other signal/slot implementations mentioned .NET 'delegates', which is fairly new, and Borland's '__closure' has been around for many years already. I always find it bemusing when people, for whatever reason, ignore Borland's earlier advanced conceptual ideas in favor of Microsoft's similar ones coming many years afterward. I think you may know that the person responsible for much of the language underpinnings of .NET and C# is the same person responsible for much of the design of Delphi/C++ Builder ( Anders Hejlsberg I believe his name is, although I may have the spelling wrong ). Anyway, all this is nether here nor there as far as Boost goes. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost