
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Frank Mori Hess Sent: Thursday, March 01, 2007 9:38 AM To: boost-users@lists.boost.org Subject: Re: [Boost-users] [signals] dropping ThreadingModel template parameter a problem I'd like to address is how painful it currently is to declare a thread-safe signal, the threading model being at the end of a long list of template parameters. Two possibilities come to mind. One is making lightweight_mutex the default ThreadingModel, maybe called "auto_threaded" and still providing single_threaded and multi_threaded for those determined enough to plow through all the template parameters. The other is providing a templated typedef class that uses a tweaked set of defaults for the template parameters appropriate for thread-safety. For example, mt_signal<Signature>::type might be a signal type using last_value<optional<R> > for the combiner and signals::multi_threaded for the ThreadingModel. [Nat] You might also consider defining traits to allow a determined consumer to override your defaults?