Boost logo

Boost :

Subject: Re: [boost] [config] BOOST_NO_CXX11_ALLOCATOR and template aliases
From: Glen Fernandes (glen.fernandes_at_[hidden])
Date: 2014-02-05 12:35:45


I'm enabling code when BOOST_NO_CXX11_ALLOCATOR is not defined that
uses std::allocator_traits<R> for construct, destroy as well as all
members like pointer, const_pointer, size_type, difference_type, where
what R is depends on whether BOOST_NO_CXX11_TEMPLATE_ALIASES is
defined: if yes, then R is typename A::template rebind<Other>::other;
if not, then R is typename std::allocator_traits<A>::template
rebind_alloc<Other>. It's a not too ugly a workaround at the moment
[commit 6d73b4aa54 at github.com/boostorg/smart_ptr] but VC11 seems to
be the only thing requiring it.

Searching through history I found that Daniel was also bitten by that
implementation closer to the first release that supported VC11:
https://groups.google.com/d/msg/boost-developers-archive/3uJDk-rRuJI/udDulU_yc8UJ

I'm much in favor of having BOOST_NO_CXX11_ALLOCATOR no longer defined on VC11.

Glen


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