This is the mail archive of the
libstdc++-cvs@gcc.gnu.org
mailing list for the libstdc++ project.
r239145 - in /trunk/libstdc++-v3: ChangeLog doc...
- From: redi at gcc dot gnu dot org
- To: libstdc++-cvs at gcc dot gnu dot org
- Date: Thu, 04 Aug 2016 18:02:57 -0000
- Subject: r239145 - in /trunk/libstdc++-v3: ChangeLog doc...
Author: redi
Date: Thu Aug 4 18:02:56 2016
New Revision: 239145
URL: https://gcc.gnu.org/viewcvs?rev=239145&root=gcc&view=rev
Log:
Define std::is_callable and std::is_nothrow_callable
* doc/xml/manual/status_cxx2017.xml: Update status table.
* include/std/functional (__inv_unwrap): Move to <type_traits>.
(__invoke_impl): Remove exception specifications.
(__invoke, invoke): Add exception specifications using
__is_nothrow_callable.
* include/std/type_traits (__inv_unwrap): Move from <functional>.
(__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
(__is_callable, __is_nothrow_callable): New traits.
(is_callable, is_callable_v): New C++17 traits.
(is_nothrow_callable, is_nothrow_callable_v): Likewise.
* testsuite/20_util/is_callable/requirements/
explicit_instantiation.cc: New test.
* testsuite/20_util/is_callable/requirements/
explicit_instantiation_ext.cc: New test.
* testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
* testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
test.
* testsuite/20_util/is_callable/value.cc: New test.
* testsuite/20_util/is_callable/value_ext.cc: New test.
* testsuite/20_util/is_nothrow_callable/requirements/
explicit_instantiation.cc: New test.
* testsuite/20_util/is_nothrow_callable/requirements/
explicit_instantiation_ext.cc: New test.
* testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
New test.
* testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
New test.
* testsuite/20_util/is_nothrow_callable/value.cc: New test.
* testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
Added:
trunk/libstdc++-v3/testsuite/20_util/is_callable/
trunk/libstdc++-v3/testsuite/20_util/is_callable/requirements/
trunk/libstdc++-v3/testsuite/20_util/is_callable/requirements/explicit_instantiation.cc
trunk/libstdc++-v3/testsuite/20_util/is_callable/requirements/explicit_instantiation_ext.cc
trunk/libstdc++-v3/testsuite/20_util/is_callable/requirements/typedefs.cc
trunk/libstdc++-v3/testsuite/20_util/is_callable/requirements/typedefs_ext.cc
trunk/libstdc++-v3/testsuite/20_util/is_callable/value.cc
trunk/libstdc++-v3/testsuite/20_util/is_callable/value_ext.cc
trunk/libstdc++-v3/testsuite/20_util/is_nothrow_callable/
trunk/libstdc++-v3/testsuite/20_util/is_nothrow_callable/requirements/
trunk/libstdc++-v3/testsuite/20_util/is_nothrow_callable/requirements/explicit_instantiation.cc
trunk/libstdc++-v3/testsuite/20_util/is_nothrow_callable/requirements/explicit_instantiation_ext.cc
trunk/libstdc++-v3/testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc
trunk/libstdc++-v3/testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc
trunk/libstdc++-v3/testsuite/20_util/is_nothrow_callable/value.cc
trunk/libstdc++-v3/testsuite/20_util/is_nothrow_callable/value_ext.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/doc/xml/manual/status_cxx2017.xml
trunk/libstdc++-v3/include/std/functional
trunk/libstdc++-v3/include/std/type_traits