|
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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk