|
@@ -171,12 +171,20 @@ struct __get_poc_swap<_A0, _Allocs...>
|
|
|
__get_poc_swap<_Allocs...>::value;
|
|
|
};
|
|
|
|
|
|
+template <class ..._Allocs> struct __get_is_always_equal;
|
|
|
+
|
|
|
+template <class _A0>
|
|
|
+struct __get_is_always_equal<_A0>
|
|
|
+{
|
|
|
+ static const bool value = allocator_traits<_A0>::is_always_equal::value;
|
|
|
+};
|
|
|
+
|
|
|
template <class _A0, class ..._Allocs>
|
|
|
-struct __get_poc_always_equal<_A0, _Allocs...>
|
|
|
+struct __get_is_always_equal<_A0, _Allocs...>
|
|
|
{
|
|
|
static const bool value =
|
|
|
allocator_traits<_A0>::is_always_equal::value ||
|
|
|
- __get_poc_always_equal<_Allocs...>::value;
|
|
|
+ __get_is_always_equal<_Allocs...>::value;
|
|
|
};
|
|
|
|
|
|
template <class ..._Allocs>
|
|
@@ -409,7 +417,7 @@ public:
|
|
|
typedef integral_constant
|
|
|
<
|
|
|
bool,
|
|
|
- __get_poc_always_equal<outer_allocator_type, _InnerAllocs...>::value
|
|
|
+ __get_is_always_equal<outer_allocator_type, _InnerAllocs...>::value
|
|
|
> is_always_equal;
|
|
|
|
|
|
template <class _Tp>
|