$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r83988 - trunk/boost/thread/detail
From: vicente.botet_at_[hidden]
Date: 2013-04-20 12:31:10
Author: viboes
Date: 2013-04-20 12:31:10 EDT (Sat, 20 Apr 2013)
New Revision: 83988
URL: http://svn.boost.org/trac/boost/changeset/83988
Log:
Thread: rollback comments on invoke as there is a regression on msvc.
Text files modified: 
   trunk/boost/thread/detail/invoke.hpp |    60 ++++++++++++++++++++--------------------
   1 files changed, 30 insertions(+), 30 deletions(-)
Modified: trunk/boost/thread/detail/invoke.hpp
==============================================================================
--- trunk/boost/thread/detail/invoke.hpp	(original)
+++ trunk/boost/thread/detail/invoke.hpp	2013-04-20 12:31:10 EDT (Sat, 20 Apr 2013)
@@ -199,39 +199,39 @@
 
 #endif // BOOST_NO_CXX11_VARIADIC_TEMPLATES
 
-//#elif ! defined(BOOST_NO_SFINAE_EXPR) &&
-//    ! defined BOOST_NO_CXX11_HDR_FUNCTIONAL
-//
-//    template <class Ret, class Fp>
-//    inline
-//    Ret invoke(BOOST_THREAD_RV_REF(Fp) f)
-//    {
-//      return f();
-//    }
-//    template <class Ret, class Fp, class A1>
-//    inline
-//    Ret invoke(BOOST_THREAD_RV_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1)
-//    {
-//      return std::bind(boost::forward<Fp>(f), boost::forward<A1>(a1))();
-//    }
-//    template <class Ret, class Fp, class A1, class A2>
-//    inline
-//    Ret invoke(BOOST_THREAD_RV_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2)
-//    {
-//      return std::bind(boost::forward<Fp>(f), boost::forward<A1>(a1), boost::forward<A2>(a2))();
-//    }
-//    template <class Ret, class Fp, class A1, class A2, class A3>
-//    inline
-//    Ret invoke(BOOST_THREAD_RV_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2, BOOST_THREAD_RV_REF(A3) a3)
-//    {
-//      return std::bind(boost::forward<Fp>(f), boost::forward<A1>(a1), boost::forward<A2>(a2), boost::forward<A3>(a3))();
-//    }
-//
-//#define BOOST_THREAD_PROVIDES_INVOKE_RET
+#elif ! defined(BOOST_NO_SFINAE_EXPR) && \
+    ! defined BOOST_NO_CXX11_HDR_FUNCTIONAL
+
+    template <class Ret, class Fp>
+    inline
+    Ret invoke(BOOST_THREAD_RV_REF(Fp) f)
+    {
+      return f();
+    }
+    template <class Ret, class Fp, class A1>
+    inline
+    Ret invoke(BOOST_THREAD_RV_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1)
+    {
+      return std::bind(boost::forward<Fp>(f), boost::forward<A1>(a1))();
+    }
+    template <class Ret, class Fp, class A1, class A2>
+    inline
+    Ret invoke(BOOST_THREAD_RV_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2)
+    {
+      return std::bind(boost::forward<Fp>(f), boost::forward<A1>(a1), boost::forward<A2>(a2))();
+    }
+    template <class Ret, class Fp, class A1, class A2, class A3>
+    inline
+    Ret invoke(BOOST_THREAD_RV_REF(Fp) f, BOOST_THREAD_RV_REF(A1) a1, BOOST_THREAD_RV_REF(A2) a2, BOOST_THREAD_RV_REF(A3) a3)
+    {
+      return std::bind(boost::forward<Fp>(f), boost::forward<A1>(a1), boost::forward<A2>(a2), boost::forward<A3>(a3))();
+    }
+
+#define BOOST_THREAD_PROVIDES_INVOKE_RET
 
 #else // all
 //!!!!!  WARNING !!!!! THIS DOESN'T WORKS YET
-#define BOOST_THREAD_PROVIDES_INVOKE_RET
+//#define BOOST_THREAD_PROVIDES_INVOKE_RET
 
 #if ! defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)