diff options
author | dim <dim@FreeBSD.org> | 2015-09-16 22:26:52 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2015-09-16 22:26:52 +0000 |
commit | ea5248cdc11d47e16b420831d52143ca4afb904a (patch) | |
tree | aaccdba1a8c990ea730287a164e76e70733b424a /contrib/libc++/include/scoped_allocator | |
parent | 5cc32d7f18f18fb3a5f4155b7f748cc7be60d2da (diff) | |
parent | 50ffe587e08aebe69879f2e5b67ba1304ff781b3 (diff) | |
download | FreeBSD-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_allocator | 22 |
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 |