llvm-project/libcxx/test/std/utilities/meta/meta.trans
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
..
meta.trans.arr
meta.trans.cv
meta.trans.other Add 'is_callable' and 'is_nothrow_callable' traits and cleanup INVOKE. 2016-04-20 00:14:32 +00:00
meta.trans.ptr Implement LWG#2101 'Some transformation types can produce impossible types' Introduced a new (internal) type trait '__is_referenceable' with tests. Use that trait in add_lvalue_reference, add_rvalue_reference and add_pointer. 2016-01-21 18:22:43 +00:00
meta.trans.ref Implement LWG#2101 'Some transformation types can produce impossible types' Introduced a new (internal) type trait '__is_referenceable' with tests. Use that trait in add_lvalue_reference, add_rvalue_reference and add_pointer. 2016-01-21 18:22:43 +00:00
meta.trans.sign
nothing_to_do.pass.cpp