Commit 9e3ef542 by Jonathan Wakely Committed by Jonathan Wakely

Use std::invoke_result in std::async instead of std::result_of

	* include/std/future (__async_result_of): Use __invoke_result instead
	of result_of.

From-SVN: r259888
parent 6791489e
2018-05-03 Jonathan Wakely <jwakely@redhat.com> 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
* include/std/future (__async_result_of): Use __invoke_result instead
of result_of.
* include/std/any (any_cast): Use __remove_cvref_t. * include/std/any (any_cast): Use __remove_cvref_t.
* include/std/tuple (__make_tuple): Likewise. * include/std/tuple (__make_tuple): Likewise.
* include/std/type_traits (__remove_cvref_t): Define. * include/std/type_traits (__remove_cvref_t): Define.
......
...@@ -181,8 +181,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -181,8 +181,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// _GLIBCXX_RESOLVE_LIB_DEFECTS // _GLIBCXX_RESOLVE_LIB_DEFECTS
// 2021. Further incorrect usages of result_of // 2021. Further incorrect usages of result_of
template<typename _Fn, typename... _Args> template<typename _Fn, typename... _Args>
using __async_result_of = typename result_of< using __async_result_of = typename __invoke_result<
typename decay<_Fn>::type(typename decay<_Args>::type...)>::type; typename decay<_Fn>::type, typename decay<_Args>::type...>::type;
template<typename _Fn, typename... _Args> template<typename _Fn, typename... _Args>
future<__async_result_of<_Fn, _Args...>> future<__async_result_of<_Fn, _Args...>>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment