aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/optimize.c
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2017-03-10 15:29:38 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2017-03-10 15:29:38 +0000
commit7dcc645ccd085045f628a25760788221cb83c504 (patch)
tree4ad614b7e968ead7b07abb7d482f04d23bc2ee2c /gcc/cp/optimize.c
parenta147ef113d5c6c0fd44e2de7149c8fbd1e2a7882 (diff)
downloadgcc-7dcc645ccd085045f628a25760788221cb83c504.zip
gcc-7dcc645ccd085045f628a25760788221cb83c504.tar.gz
gcc-7dcc645ccd085045f628a25760788221cb83c504.tar.bz2
P0604R0 add invoke_result, is_invocable etc. for C++17
* include/bits/invoke.h (__invoke): Use __invoke_result instead of result_of, and __is_nothrow_invocable instead of __is_nothrow_callable. * include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable instead of __is_callable. * include/std/functional (invoke): use invoke_result_t instead of result_of_t and is_nothrow_invocable instead of is_nothrow_callable. (_Not_fn): Use __invoke_result instead of result_of. * include/std/type_traits (__result_of_memobj, __result_of_memfun): Remove partial specializations for reference_wrapper types. (__result_of_impl): Use __inv_unwrap to strip reference_wrapper. (__invoke_result): Define replacement for result_of and then use it to define result_of. (__is_callable_impl, __is_callable, __is_nothrow_callable): Replace with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable respectively. (invoke_result, invoke_result_t): Define for C++17. (is_callable, is_nothrow_callable): Replace with is_invocable, is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r. (is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v, is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v. * include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v instead of is_nothrow_callable_v. * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused main function. * testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable instead of is_callable. * testsuite/20_util/is_callable/*: Rename directory and adjust tests to use new traits. * testsuite/20_util/is_notjrow_callable/*: Likewise. * testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of is_callable. * testsuite/20_util/variant/hash.cc: Likewise. From-SVN: r246036
Diffstat (limited to 'gcc/cp/optimize.c')
0 files changed, 0 insertions, 0 deletions