Boost logo

Boost :

Subject: Re: [boost] [container] variadic template support in g++ 4.5.1
From: Richard Hadsell (hadsell_at_[hidden])
Date: 2014-08-20 14:31:44

On 08/20/2014 01:51 PM, Ion Gaztañaga wrote:
> El 20/08/2014 17:53, Richard Hadsell escribió:
>> On 08/20/2014 11:40 AM, Richard Hadsell wrote:
>>> /netDISKS/master/netmt/LINUX_INTF14/cgi/boost/1.56.0/Include/libboost/boost/container/allocator_traits.hpp:
>>> In static member function 'static void
>>> boost::container::allocator_traits<Alloc>::priv_construct(boost::false_type,
>>> Alloc&, T*, const Args& ...)':
>>> /netDISKS/master/netmt/LINUX_INTF14/cgi/boost/1.56.0/Include/libboost/boost/container/allocator_traits.hpp:324:43:
>>> sorry, unimplemented: cannot expand 'Args ...' into a fixed-length
>>> argument list
>>> ...
>>> config/compiler/gcc.hpp defines BOOST_NO_CXX11_VARIADIC_TEMPLATES for
>>> g++ earlier than 4.4, which means it believes the code should be valid
>>> for 4.5.1.
>>> Is there already a fix for this in development? Please, tell me what
>>> to do with my copy of 1.56.0.
>> Further research found this g++ bug ticket, which says that it is fixed
>> in 4.7.0:
> Boost.Container has some workaround for some case (search for BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST). I think the workaround should go to Boost.Intrusive, which implements the class (has_member_function_callable_with_xxxx).
> Can you please try to write a small test case showing the problem and fill a Boost track issue?
> Thanks,
> Ion
When I tried to submit a bug ticket, it was rejected, because I included links to 2 g++ bugzilla tickets. Then it threw away all that I had typed, which I don't wish to do again.

You only need this one line to reproduce the problem:

#include <boost/circular_buffer.hpp>

Boost list run by bdawes at, gregod at, cpdaniel at, john at