Boost logo

Boost :

Subject: Re: [boost] [1.50.0] Beta 1 release candidates available for testing
From: Stephan T. Lavavej (stl_at_[hidden])
Date: 2012-06-01 18:19:27

[Daniel James]
> Maybe VC11 doesn't have template aliases, so it requires that
> rebind_alloc is used differently, something like
> 'allocator_traits::rebind_alloc<value_type>::other'

Yep, sorry. N3376 20.6.8 [allocator.traits] says:

template <class T> using rebind_alloc = see below ;

But we don't have template aliases yet, so we say:

        template<class _Other>
                struct rebind_alloc
                { // converts allocator<element_type> to allocator<_Other>
                typedef typename _Get_rebind_type<_Alloc, _Other>::type other;

> if that's the
> case then IMO it'd better if they named it something different, since
> it's used differently and it'd allow a smoother transition when they
> are implemented.

I don't think that that would buy anything. You'll get compiler errors either way (expecting real template aliases and getting fake, or vice versa), so changing the name wouldn't do anything - you'd still need an #ifdef.

Stephan T. Lavavej
Visual C++ Libraries Developer

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