summaryrefslogtreecommitdiff
path: root/include/type_traits
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-10-07 21:27:45 +0000
committerEric Fiselier <eric@efcs.ca>2016-10-07 21:27:45 +0000
commit2c429bee79204b77cff067695798dfac5605820d (patch)
treefb8b48dea4bf7b33810ed096f2272eb3e1706c32 /include/type_traits
parent45a9570f5d1579a7ccfc18ac474b2cf8a13832a5 (diff)
Fix various issues in std::any and the related tests.
* Fix self-swap. Patch from Casey Carter. * Remove workarounds and tests for types with deleted move constructors. This was originally added as part of a LWG proposed resolution that has since changed. * Re-apply most recent PR for LWG 2769. * Re-apply most recent PR for LWG 2754. Specifically fix the SFINAE checks to use the decayed type. * Fix tests to allow moved-from std::any's to have a non-empty state. This is the behavior of MSVC's std::any. * Various whitespace and test fixes. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283606 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/type_traits')
-rw-r--r--include/type_traits5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/type_traits b/include/type_traits
index 26165713a..519d91f4b 100644
--- a/include/type_traits
+++ b/include/type_traits
@@ -1122,6 +1122,11 @@ struct __unconstref {
typedef typename remove_const<typename remove_reference<_Tp>::type>::type type;
};
+#ifndef _LIBCPP_CXX03_LANG
+template <class _Tp>
+using __uncvref_t = typename __uncvref<_Tp>::type;
+#endif
+
// __is_same_uncvref
template <class _Tp, class _Up>