From dcc6a0bc44dec14c62bc89866e8a9110722e95c5 Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Sat, 21 Sep 2013 19:25:37 +0000 Subject: [PATCH] Apply LWG 2048. It is amazing to me that this actually works, but the existing tests confirm that it does. c++1y status page now showing libc++ is complete for c++1y modulo dynarray issues. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191142 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/functional | 44 ------------------------------------------- www/cxx1y_status.html | 2 +- 2 files changed, 1 insertion(+), 45 deletions(-) diff --git a/include/functional b/include/functional index c3c713e8..b5eb81c2 100644 --- a/include/functional +++ b/include/functional @@ -358,18 +358,6 @@ template const_mem_fun_ref_t mem_fun_ref(S ( template const_mem_fun1_ref_t mem_fun_ref(S (T::*f)(A) const); template unspecified mem_fn(R T::*); -template unspecified mem_fn(R (T::*)(Args...)); -template unspecified mem_fn(R (T::*)(Args...) const); -template unspecified mem_fn(R (T::*)(Args...) volatile); -template unspecified mem_fn(R (T::*)(Args...) const volatile); -template unspecified mem_fn(R (T::*)(Args...) &); -template unspecified mem_fn(R (T::*)(Args...) const &); -template unspecified mem_fn(R (T::*)(Args...) volatile &); -template unspecified mem_fn(R (T::*)(Args...) const volatile &); -template unspecified mem_fn(R (T::*)(Args...) &&); -template unspecified mem_fn(R (T::*)(Args...) const &&); -template unspecified mem_fn(R (T::*)(Args...) volatile &&); -template unspecified mem_fn(R (T::*)(Args...) const volatile &&); class bad_function_call : public exception @@ -1207,38 +1195,6 @@ mem_fn(_Rp _Tp::* __pm) return __mem_fn<_Rp _Tp::*>(__pm); } -template -inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_Args...)> -mem_fn(_Rp (_Tp::* __pm)(_Args...)) -{ - return __mem_fn<_Rp (_Tp::*)(_Args...)>(__pm); -} - -template -inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_Args...) const> -mem_fn(_Rp (_Tp::* __pm)(_Args...) const) -{ - return __mem_fn<_Rp (_Tp::*)(_Args...) const>(__pm); -} - -template -inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_Args...) volatile> -mem_fn(_Rp (_Tp::* __pm)(_Args...) volatile) -{ - return __mem_fn<_Rp (_Tp::*)(_Args...) volatile>(__pm); -} - -template -inline _LIBCPP_INLINE_VISIBILITY -__mem_fn<_Rp (_Tp::*)(_Args...) const volatile> -mem_fn(_Rp (_Tp::* __pm)(_Args...) const volatile) -{ - return __mem_fn<_Rp (_Tp::*)(_Args...) const volatile>(__pm); -} - // bad_function_call class _LIBCPP_EXCEPTION_ABI bad_function_call diff --git a/www/cxx1y_status.html b/www/cxx1y_status.html index e97dee15..96fade88 100644 --- a/www/cxx1y_status.html +++ b/www/cxx1y_status.html @@ -134,7 +134,7 @@ 2123merge() allocator requirements for lists versus forward listsPortlandComplete 2005unordered_map::insert(T&&) protection should apply to map tooPortlandComplete 2011Unexpected output required of stringsPortlandComplete - 2048Unnecessary mem_fn overloadsPortland + 2048Unnecessary mem_fn overloadsPortlandComplete 2049is_destructible is underspecifiedPortlandComplete 2056future_errc enums start with value 0 (invalid value for broken_promise)PortlandComplete 2058valarray and begin/endPortlandComplete