summaryrefslogtreecommitdiffstats
path: root/contrib/libc++/include/scoped_allocator
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2015-09-16 22:26:52 +0000
committerdim <dim@FreeBSD.org>2015-09-16 22:26:52 +0000
commitea5248cdc11d47e16b420831d52143ca4afb904a (patch)
treeaaccdba1a8c990ea730287a164e76e70733b424a /contrib/libc++/include/scoped_allocator
parent5cc32d7f18f18fb3a5f4155b7f748cc7be60d2da (diff)
parent50ffe587e08aebe69879f2e5b67ba1304ff781b3 (diff)
downloadFreeBSD-src-ea5248cdc11d47e16b420831d52143ca4afb904a.zip
FreeBSD-src-ea5248cdc11d47e16b420831d52143ca4afb904a.tar.gz
Update libc++ to 3.7.0 release.
Diffstat (limited to 'contrib/libc++/include/scoped_allocator')
-rw-r--r--contrib/libc++/include/scoped_allocator22
1 files changed, 22 insertions, 0 deletions
diff --git a/contrib/libc++/include/scoped_allocator b/contrib/libc++/include/scoped_allocator
index aa8bece..cd4987a 100644
--- a/contrib/libc++/include/scoped_allocator
+++ b/contrib/libc++/include/scoped_allocator
@@ -38,6 +38,7 @@ public:
typedef see below propagate_on_container_copy_assignment;
typedef see below propagate_on_container_move_assignment;
typedef see below propagate_on_container_swap;
+ typedef see below is_always_equal;
template <class Tp>
struct rebind
@@ -170,6 +171,22 @@ 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_is_always_equal<_A0, _Allocs...>
+{
+ static const bool value =
+ allocator_traits<_A0>::is_always_equal::value &&
+ __get_is_always_equal<_Allocs...>::value;
+};
+
template <class ..._Allocs>
class __scoped_allocator_storage;
@@ -397,6 +414,11 @@ public:
bool,
__get_poc_swap<outer_allocator_type, _InnerAllocs...>::value
> propagate_on_container_swap;
+ typedef integral_constant
+ <
+ bool,
+ __get_is_always_equal<outer_allocator_type, _InnerAllocs...>::value
+ > is_always_equal;
template <class _Tp>
struct rebind
OpenPOWER on IntegriCloud