[libc++] Use std::is_nothrow_callable for std::invoke according to LWG 2807

Thanks to Zoe Carver for the patch.
Differential Revision: https://reviews.llvm.org/D58097

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@357616 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Louis Dionne
2019-04-03 17:54:37 +00:00
parent 6f0f0a6b27
commit d8ae8539a7
3 changed files with 10 additions and 5 deletions

View File

@@ -10,8 +10,9 @@
// <functional>
// template <class F, class ...Args>
// result_of_t<F&&(Args&&...)> invoke(F&&, Args&&...);
// template<class F, class... Args>
// invoke_result_t<F, Args...> invoke(F&& f, Args&&... args) // C++17
// noexcept(is_nothrow_invocable_v<_Fn, _Args...>);
/// C++14 [func.def] 20.9.0
/// (1) The following definitions apply to this Clause: