diff options
author | Marshall Clow <mclow.lists@gmail.com> | 2013-07-16 00:46:11 +0400 |
---|---|---|
committer | Marshall Clow <mclow.lists@gmail.com> | 2013-07-16 00:46:11 +0400 |
commit | 1c682f0f0c5bd24c8886894daf87cba1b37645e4 (patch) | |
tree | 72e01948956c4772c8c49747e1aefc136496864f /libcxx/include/utility | |
parent | 8e8618ae5c0cd2ca06d170e05154ff70e159044e (diff) |
Make std::forward and std::move (and std::move_if_noexcept) constexpr in C++14
llvm-svn: 186344
Diffstat (limited to 'libcxx/include/utility')
-rw-r--r-- | libcxx/include/utility | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libcxx/include/utility b/libcxx/include/utility index 3e4b401f2d9a..46a8803a0158 100644 --- a/libcxx/include/utility +++ b/libcxx/include/utility @@ -38,10 +38,10 @@ template <class T, size_t N> void swap(T (&a)[N], T (&b)[N]) noexcept(noexcept(swap(*a, *b))); -template <class T> T&& forward(typename remove_reference<T>::type& t) noexcept; -template <class T> T&& forward(typename remove_reference<T>::type&& t) noexcept; +template <class T> T&& forward(typename remove_reference<T>::type& t) noexcept; // constexpr in C++14 +template <class T> T&& forward(typename remove_reference<T>::type&& t) noexcept; // constexpr in C++14 -template <class T> typename remove_reference<T>::type&& move(T&&) noexcept; +template <class T> typename remove_reference<T>::type&& move(T&&) noexcept; // constexpr in C++14 template <class T> typename conditional @@ -50,7 +50,7 @@ template <class T> const T&, T&& >::type - move_if_noexcept(T& x) noexcept; + move_if_noexcept(T& x) noexcept; // constexpr in C++14 template <class T> typename add_rvalue_reference<T>::type declval() noexcept; @@ -221,7 +221,7 @@ swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) _NOEXCEPT_(__is_nothrow_swappable<_Tp>::v } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES typename conditional < |