Boost logo

Boost :

From: Amit (contact.lipik_at_[hidden])
Date: 2008-04-02 11:53:17


Hi,

I am trying to migrate my project to 1.35. The following used to compile and
work with 1.34.1:
bmx::multi_index_container<wstring,
           bmx::indexed_by<bmx::ordered_unique<bmx::identity<wstring> >,
                           bmx::random_access<> >,
           boost::fast_pool_allocator<wstring> >

But refuses to compile with 1.35 (I use Intel compiler 10.1 with MSVC7.1 STL).
Something to do with allocator rebind. I am including some of the compiler
output below.

Can someone please suggest a resolution (hopefully keeping the pool allocator
intact)?

Thanks
Amit

C:\DevLibraries\Boost\include\boost-1_35_0\boost/pool/pool_alloc.hpp(130):
error: reference to void is not allowed
      typedef value_type & reference;
                         ^
detected during:
instantiation of class "boost::fast_pool_allocator<T, UserAllocator,
Mutex, NextSize> [with T=void,
UserAllocator=boost::default_user_allocator_new_delete,
Mutex=boost::details::pool::default_mutex, NextSize=32U]" at line 149 of
"C:\Boost\include\boost-1_35_0\boost/detail/allocator_utilities.hpp"
            instantiation of class
"boost::detail::allocator::rebinder<Allocator>::result<Type> [with
Allocator=boost::fast_pool_allocator<void,
boost::default_user_allocator_new_delete,
boost::details::pool::default_mutex, 32U>,
Type=boost::multi_index::detail::random_access_index_node_impl<
boost::fast_pool_allocator<void, boost::default_user_allocator_new_delete,
boost::details::pool::default_mutex, 32U>>]" at line 158 of
"C:\Boost\include\boost-1_35_0\boost/detail/allocator_utilities.hpp"
            instantiation of class
"boost::detail::allocator::compliant_allocator_rebind_to<Allocator, Type>
[with Allocator=boost::fast_pool_allocator<void,
boost::default_user_allocator_new_delete, boost::details::pool::default_mutex,
32U>,
Type=boost::multi_index::detail::random_access_index_node_impl<
boost::fast_pool_allocator<void, boost::default_user_allocator_new_delete,
boost::details::pool::default_mutex, 32U>>]"
at line 62 of
"C:\Boost\include\boost-1_35_0\boost/mpl/eval_if.hpp"
            instantiation of class "boost::mpl::eval_if_c<C, F1, F2>
[with C=false, F1=boost::detail::allocator::partial_std_allocator_rebind_to<
boost::fast_pool_allocator<void, boost::default_user_allocator_new_delete,
boost::details::pool::default_mutex, 32U>,
boost::multi_index::detail::random_access_index_node_impl<
boost::fast_pool_allocator<void, boost::default_user_allocator_new_delete,
boost::details::pool::default_mutex, 32U>>>,


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk