
On Thu, 01 Nov 2007 22:38:00 +0100, Emil Dotchevski <emil@revergestudios.com> wrote:
Would this not break all code currently using the templated allocator version of boost::function? I would call that not at all appropriate for a dot release, and should be avoided outright if possible.
I apologize I meant 1.35 but now I see that it was naive to think it could happen that soon. My understanding is that Doug himself wanted the new allocator semantics for boost::function merged into Boost, but perhaps we should have a discussion first.
About breaking user code -- yes, it's a breaking change but I think that most people will not be affected, because using allocators with boost::function is not very practical with the legacy allocator semantics, and switching to the new allocator semantics is trivial.
It is also possible to introduce a macro that switches the legacy allocator semantics on (the allocator change affects only 2 hpp files.)
This sounds as a good news! So it will be possible for boost overload to pass a (shared) user-defined allocator to the embedded boost function objects. At present the only solution, to allow to specify an allocator type as template argument, would be to wrap all the supported signatures inside a tuple. This new semantic remove such a need, providing a transparent solution to the problem. :-) Marco -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/