From 71ff7c3f0f8f76b1e82748e5f690f51fc3d84662 Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Tue, 14 Jul 2015 14:46:32 +0000 Subject: Move bits from N4258. Mark vector's move-constructor unconditionally noexcept in C++1z llvm-svn: 242148 --- libcxx/include/vector | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'libcxx/include/vector') diff --git a/libcxx/include/vector b/libcxx/include/vector index 65a087cf80c..c168c8ea60a 100644 --- a/libcxx/include/vector +++ b/libcxx/include/vector @@ -553,7 +553,11 @@ public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES _LIBCPP_INLINE_VISIBILITY vector(vector&& __x) +#if _LIBCPP_STD_VER > 14 + _NOEXCEPT; +#else _NOEXCEPT_(is_nothrow_move_constructible::value); +#endif _LIBCPP_INLINE_VISIBILITY vector(vector&& __x, const allocator_type& __a); _LIBCPP_INLINE_VISIBILITY @@ -1220,7 +1224,11 @@ vector<_Tp, _Allocator>::vector(const vector& __x, const allocator_type& __a) template inline _LIBCPP_INLINE_VISIBILITY vector<_Tp, _Allocator>::vector(vector&& __x) +#if _LIBCPP_STD_VER > 14 + _NOEXCEPT +#else _NOEXCEPT_(is_nothrow_move_constructible::value) +#endif : __base(_VSTD::move(__x.__alloc())) { #if _LIBCPP_DEBUG_LEVEL >= 2 @@ -2195,7 +2203,11 @@ public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES _LIBCPP_INLINE_VISIBILITY vector(vector&& __v) +#if _LIBCPP_STD_VER > 14 + _NOEXCEPT; +#else _NOEXCEPT_(is_nothrow_move_constructible::value); +#endif vector(vector&& __v, const allocator_type& __a); _LIBCPP_INLINE_VISIBILITY vector& operator=(vector&& __v) @@ -2785,7 +2797,11 @@ vector::operator=(const vector& __v) template inline _LIBCPP_INLINE_VISIBILITY vector::vector(vector&& __v) +#if _LIBCPP_STD_VER > 14 + _NOEXCEPT +#else _NOEXCEPT_(is_nothrow_move_constructible::value) +#endif : __begin_(__v.__begin_), __size_(__v.__size_), __cap_alloc_(__v.__cap_alloc_) -- cgit v1.2.3