|
Boost : |
From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2008-06-04 05:09:34
Hello,
a number of compilers (Intel, Acc, Cxx, Sun, Borland) currently have
troubles compiling this test. All compilers are giving the same error
message, namely that they can't convert from
const functor_wrapper<...>
to
const counting_allocator<functor_wrapper<...> > &
at boost/function/function_base.hpp:435
The test passes for me (using cxx 7.1) when applying the attached patch.
I'm not really sure that this is the right fix, so could the someone please
take a look, and possibly apply the patch if it's OK?
Regards,
Markus
Index: function_base.hpp
===================================================================
--- function_base.hpp (revision 46035)
+++ function_base.hpp (working copy)
@@ -432,7 +432,7 @@
// can't do the static_cast that we should do.
const functor_wrapper_type* f =
(const functor_wrapper_type*)(in_buffer.obj_ptr);
- wrapper_allocator_type wrapper_allocator(static_cast<wrapper_allocator_type const &>(*f));
+ wrapper_allocator_type wrapper_allocator(*f);
wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1);
wrapper_allocator.construct(copy, *f);
@@ -443,7 +443,7 @@
/* Cast from the void pointer to the functor_wrapper_type */
functor_wrapper_type* victim =
static_cast<functor_wrapper_type*>(in_buffer.obj_ptr);
- wrapper_allocator_type wrapper_allocator(static_cast<wrapper_allocator_type const &>(*victim));
+ wrapper_allocator_type wrapper_allocator(*victim);
wrapper_allocator.destroy(victim);
wrapper_allocator.deallocate(victim,1);
out_buffer.obj_ptr = 0;
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk