summaryrefslogtreecommitdiffstats
path: root/libcxx/include/utility
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/include/utility')
-rw-r--r--libcxx/include/utility28
1 files changed, 3 insertions, 25 deletions
diff --git a/libcxx/include/utility b/libcxx/include/utility
index 27b81a0305e..d9d57a7d780 100644
--- a/libcxx/include/utility
+++ b/libcxx/include/utility
@@ -310,18 +310,9 @@ struct _LIBCPP_TYPE_VIS_ONLY pair
)
: first(__p.first), second(__p.second) {}
-#if !defined(_LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS) && _LIBCPP_TRIVIAL_PAIR_COPY_CTOR
- _LIBCPP_INLINE_VISIBILITY
- pair(const pair& __p) = default;
-#elif !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) || !_LIBCPP_TRIVIAL_PAIR_COPY_CTOR
- _LIBCPP_INLINE_VISIBILITY
- pair(const pair& __p)
- _NOEXCEPT_(is_nothrow_copy_constructible<first_type>::value &&
- is_nothrow_copy_constructible<second_type>::value)
- : first(__p.first),
- second(__p.second)
- {
- }
+#if !defined(_LIBCPP_CXX03_LANG)
+ _LIBCPP_INLINE_VISIBILITY pair(const pair& __p) = default;
+ _LIBCPP_INLINE_VISIBILITY pair(pair&& __p) = default;
#endif
_LIBCPP_INLINE_VISIBILITY
@@ -353,19 +344,6 @@ struct _LIBCPP_TYPE_VIS_ONLY pair
: first(_VSTD::forward<_U1>(__p.first)),
second(_VSTD::forward<_U2>(__p.second)) {}
-#ifndef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
- _LIBCPP_INLINE_VISIBILITY
- pair(pair&& __p) = default;
-#else
- _LIBCPP_INLINE_VISIBILITY
- pair(pair&& __p) _NOEXCEPT_(is_nothrow_move_constructible<first_type>::value &&
- is_nothrow_move_constructible<second_type>::value)
- : first(_VSTD::forward<first_type>(__p.first)),
- second(_VSTD::forward<second_type>(__p.second))
- {
- }
-#endif
-
_LIBCPP_INLINE_VISIBILITY
pair&
operator=(pair&& __p) _NOEXCEPT_(is_nothrow_move_assignable<first_type>::value &&
OpenPOWER on IntegriCloud