hanchenye-llvm-project/libcxx/include/experimental
Eric Fiselier 840fa745ca Add 'is_callable' and 'is_nothrow_callable' traits and cleanup INVOKE.
The primary purpose of this patch is to add the 'is_callable' traits.
Since 'is_nothrow_callable' required making 'INVOKE' conditionally noexcept
I also took this oppertunity to implement a constexpr version of INVOKE.
This fixes 'std::experimental::apply' which required constexpr 'INVOKE support'.

This patch will be followed up with some cleanup. Primarly removing most
of "__member_function_traits" since it's no longer used by INVOKE (in C++11 at least).

llvm-svn: 266836
2016-04-20 00:14:32 +00:00
..
__config
algorithm Implement P0253R1: Fixing a design mistake in the searchers interface. 2016-03-08 15:12:52 +00:00
any Remove commented out TODOs. They defined unneeded methods. 2015-08-19 03:48:08 +00:00
chrono
dynarray Fix initialzation order in dynarray 2015-10-01 07:29:38 +00:00
functional Implement P0253R1: Fixing a design mistake in the searchers interface. 2016-03-08 15:12:52 +00:00
iterator Left a file out of r259014 2016-01-28 04:15:35 +00:00
optional
ratio
string_view
system_error
tuple Add 'is_callable' and 'is_nothrow_callable' traits and cleanup INVOKE. 2016-04-20 00:14:32 +00:00
type_traits
utility