Tweak to make clang blocks work with std::functional (very fragile)

llvm-svn: 115461
This commit is contained in:
Howard Hinnant 2010-10-03 13:59:56 +00:00
parent a76cdeb783
commit 2ec672fff5
1 changed files with 4 additions and 4 deletions

View File

@ -873,7 +873,7 @@ __invoke(_R _T::* __f, _T1& __t1)
template <class _F>
inline _LIBCPP_INLINE_VISIBILITY
typename result_of<_F()>::type
decltype(declval<_F>()())
__invoke(_F __f)
{
return __f();
@ -881,7 +881,7 @@ __invoke(_F __f)
template <class _F, class _A0>
inline _LIBCPP_INLINE_VISIBILITY
typename result_of<_F(_A0)>::type
decltype(declval<_F>()(declval<_A0&>()))
__invoke(_F __f, _A0& __a0)
{
return __f(__a0);
@ -889,7 +889,7 @@ __invoke(_F __f, _A0& __a0)
template <class _F, class _A0, class _A1>
inline _LIBCPP_INLINE_VISIBILITY
typename result_of<_F(_A0, _A1)>::type
decltype(declval<_F>()(declval<_A0&>(), declval<_A1&>()))
__invoke(_F __f, _A0& __a0, _A1& __a1)
{
return __f(__a0, __a1);
@ -897,7 +897,7 @@ __invoke(_F __f, _A0& __a0, _A1& __a1)
template <class _F, class _A0, class _A1, class _A2>
inline _LIBCPP_INLINE_VISIBILITY
typename result_of<_F(_A0, _A1, _A2)>::type
decltype(declval<_F>()(declval<_A0&>(), declval<_A1&>(), declval<_A2&>()))
__invoke(_F __f, _A0& __a0, _A1& __a1, _A2& __a2)
{
return __f(__a0, __a1, __a2);