summaryrefslogtreecommitdiffstats
path: root/libcxx/include/array
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2011-06-01 19:59:32 +0000
committerHoward Hinnant <hhinnant@apple.com>2011-06-01 19:59:32 +0000
commitbc95cf0d5f566dfcb099154aa9520354483b592b (patch)
tree39d452375e1fa2b1222c25842a1a5fe213274fc1 /libcxx/include/array
parent690030c11645c8d39b6689d34ff5044eee394e08 (diff)
downloadbcm5719-llvm-bc95cf0d5f566dfcb099154aa9520354483b592b.tar.gz
bcm5719-llvm-bc95cf0d5f566dfcb099154aa9520354483b592b.zip
Experimental support for a meaningful __is_swappable<T>::value. This does not appear to be strictly needed for correct functioning of the library. If it causes any problems, I'd rather pull it sooner rather than later.
llvm-svn: 132421
Diffstat (limited to 'libcxx/include/array')
-rw-r--r--libcxx/include/array6
1 files changed, 5 insertions, 1 deletions
diff --git a/libcxx/include/array b/libcxx/include/array
index 188d24d7f1a..888fac21e53 100644
--- a/libcxx/include/array
+++ b/libcxx/include/array
@@ -270,7 +270,11 @@ operator>=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
template <class _Tp, size_t _Size>
_LIBCPP_INLINE_VISIBILITY inline
-void
+typename enable_if
+<
+ __is_swappable<_Tp>::value,
+ void
+>::type
swap(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
_NOEXCEPT_(__is_nothrow_swappable<_Tp>::value)
{
OpenPOWER on IntegriCloud