$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r86471 - in trunk/boost/thread: . detail
From: vicente.botet_at_[hidden]
Date: 2013-10-26 19:35:40
Author: viboes
Date: 2013-10-26 19:35:40 EDT (Sat, 26 Oct 2013)
New Revision: 86471
URL: http://svn.boost.org/trac/boost/changeset/86471
Log:
Thread: cleanup replacing some macros by the types imported on csbl namespace comming from std or boost. Cleanup work type ussage.
Text files modified: 
   trunk/boost/thread/completion_latch.hpp  |    15 ++------                                
   trunk/boost/thread/detail/async_func.hpp |    10 +----                                   
   trunk/boost/thread/detail/work.hpp       |     9 -----                                   
   trunk/boost/thread/executor.hpp          |    10 -----                                   
   trunk/boost/thread/future.hpp            |    67 +++++++++++++++++---------------------- 
   trunk/boost/thread/thread_pool.hpp       |    44 ++++++++++----------------              
   6 files changed, 54 insertions(+), 101 deletions(-)
Modified: trunk/boost/thread/completion_latch.hpp
==============================================================================
--- trunk/boost/thread/completion_latch.hpp	Sat Oct 26 19:25:53 2013	(r86470)
+++ trunk/boost/thread/completion_latch.hpp	2013-10-26 19:35:40 EDT (Sat, 26 Oct 2013)	(r86471)
@@ -16,12 +16,8 @@
 #include <boost/chrono/duration.hpp>
 #include <boost/chrono/time_point.hpp>
 #include <boost/assert.hpp>
-#ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL
-#include <boost/function.hpp>
-#else
-#include <functional>
-#endif
-//#include <boost/thread/latch.hpp>
+//#include <boost/thread/detail/nullary_function.hpp>
+#include <boost/thread/csbl/functional.hpp>
 
 #include <boost/config/abi_prefix.hpp>
 
@@ -37,11 +33,8 @@
   {
   public:
     /// the implementation defined completion function type
-#ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL
-    typedef function<void()> completion_function;
-#else
-    typedef std::function<void()> completion_function;
-#endif
+    //typedef detail::nullary_function<void()> completion_function;
+    typedef csbl::function<void()> completion_function;
     /// noop completion function factory
     static completion_function noop()
     {
Modified: trunk/boost/thread/detail/async_func.hpp
==============================================================================
--- trunk/boost/thread/detail/async_func.hpp	Sat Oct 26 19:25:53 2013	(r86470)
+++ trunk/boost/thread/detail/async_func.hpp	2013-10-26 19:35:40 EDT (Sat, 26 Oct 2013)	(r86471)
@@ -29,13 +29,7 @@
 #include <boost/thread/detail/move.hpp>
 #include <boost/thread/detail/invoke.hpp>
 #include <boost/thread/detail/make_tuple_indices.hpp>
-
-#if ! defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
-    ! defined(BOOST_NO_CXX11_HDR_TUPLE)
-#include <tuple>
-#else
-#include <boost/tuple/tuple.hpp>
-#endif
+#include <boost/thread/csbl/tuple.hpp>
 
 namespace boost
 {
@@ -48,7 +42,7 @@
     template <class Fp, class ... Args>
     class async_func
     {
-      std::tuple<Fp, Args...> f_;
+      csbl::tuple<Fp, Args...> f_;
 
     public:
       BOOST_THREAD_MOVABLE_ONLY( async_func)
Modified: trunk/boost/thread/detail/work.hpp
==============================================================================
--- trunk/boost/thread/detail/work.hpp	Sat Oct 26 19:25:53 2013	(r86470)
+++ trunk/boost/thread/detail/work.hpp	2013-10-26 19:35:40 EDT (Sat, 26 Oct 2013)	(r86471)
@@ -7,24 +7,15 @@
 #ifndef BOOST_THREAD_DETAIL_WORK_HPP
 #define BOOST_THREAD_DETAIL_WORK_HPP
 
-#define BOOST_THREAD_USES_NULLARY_FUNCTION_AS_WORK
 
-#ifdef BOOST_THREAD_USES_NULLARY_FUNCTION_AS_WORK
 #include <boost/thread/detail/nullary_function.hpp>
-#else
-#include <boost/thread/detail/function_wrapper.hpp>
-#endif
 
 namespace boost
 {
   namespace thread_detail
   {
 
-#ifdef BOOST_THREAD_USES_NULLARY_FUNCTION_AS_WORK
     typedef detail::nullary_function<void()> work;
-#else
-    typedef detail::function_wrapper work;
-#endif
   }
 
 } // namespace boost
Modified: trunk/boost/thread/executor.hpp
==============================================================================
--- trunk/boost/thread/executor.hpp	Sat Oct 26 19:25:53 2013	(r86470)
+++ trunk/boost/thread/executor.hpp	2013-10-26 19:35:40 EDT (Sat, 26 Oct 2013)	(r86471)
@@ -71,14 +71,7 @@
      * \b Throws: \c sync_queue_is_closed if the thread pool is closed.
      * Whatever exception that can be throw while storing the closure.
      */
-#ifndef BOOST_THREAD_USES_NULLARY_FUNCTION_AS_WORK
-    template <typename Closure>
-    void submit(Closure const& closure)
-    {
-      work w ((closure));
-      submit(boost::move(w));
-    }
-#else
+
 #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
     template <typename Closure>
     void submit(Closure & closure)
@@ -92,7 +85,6 @@
       work w ((closure));
       submit(boost::move(w));
     }
-#endif
 
     template <typename Closure>
     void submit(BOOST_THREAD_RV_REF(Closure) closure)
Modified: trunk/boost/thread/future.hpp
==============================================================================
--- trunk/boost/thread/future.hpp	Sat Oct 26 19:25:53 2013	(r86470)
+++ trunk/boost/thread/future.hpp	2013-10-26 19:35:40 EDT (Sat, 26 Oct 2013)	(r86471)
@@ -60,15 +60,8 @@
 #include <boost/thread/thread_only.hpp>
 
 #if defined BOOST_THREAD_PROVIDES_FUTURE_WHEN_ALL_WHEN_ANY
-#if ! defined(BOOST_NO_CXX11_HDR_TUPLE)
-#include <tuple>
-#define BOOST_THREAD_TUPLE std::tuple
-#endif
-
-#include <boost/container/vector.hpp>
-#define BOOST_THREAD_VECTOR boost::container::vector
-//#include <vector>
-//#define BOOST_THREAD_VECTOR std::vector
+#include <boost/thread/csbl/tuple.hpp>
+#include <boost/thread/csbl/vector.hpp>
 #endif
 
 #ifdef BOOST_THREAD_PROVIDES_EXECUTORS
@@ -4511,11 +4504,11 @@
     // detail::future_async_when_all_shared_state
     ////////////////////////////////
     template<typename F>
-    struct future_when_all_vector_shared_state: future_async_shared_state_base<BOOST_THREAD_VECTOR<F> >
+    struct future_when_all_vector_shared_state: future_async_shared_state_base<csbl::vector<F> >
     {
-      typedef BOOST_THREAD_VECTOR<F> vector_type;
+      typedef csbl::vector<F> vector_type;
       typedef typename F::value_type value_type;
-      BOOST_THREAD_VECTOR<F> vec_;
+      csbl::vector<F> vec_;
 
       static void run(future_when_all_vector_shared_state* that)
       {
@@ -4551,7 +4544,7 @@
       }
 
       future_when_all_vector_shared_state(vector_tag,
-          BOOST_THREAD_RV_REF(BOOST_THREAD_VECTOR<F>) v
+          BOOST_THREAD_RV_REF(csbl::vector<F>) v
       )
       : vec_(boost::move(v))
       {
@@ -4588,11 +4581,11 @@
     // detail::future_async_when_any_shared_state
     ////////////////////////////////
     template<typename F>
-    struct future_when_any_vector_shared_state: future_async_shared_state_base<BOOST_THREAD_VECTOR<F> >
+    struct future_when_any_vector_shared_state: future_async_shared_state_base<csbl::vector<F> >
     {
-      typedef BOOST_THREAD_VECTOR<F> vector_type;
+      typedef csbl::vector<F> vector_type;
       typedef typename F::value_type value_type;
-      BOOST_THREAD_VECTOR<F> vec_;
+      csbl::vector<F> vec_;
 
       static void run(future_when_any_vector_shared_state* that)
       {
@@ -4628,7 +4621,7 @@
       }
 
       future_when_any_vector_shared_state(vector_tag,
-          BOOST_THREAD_RV_REF(BOOST_THREAD_VECTOR<F>) v
+          BOOST_THREAD_RV_REF(csbl::vector<F>) v
       )
       : vec_(boost::move(v))
       {
@@ -4661,22 +4654,22 @@
     };
 
 #if ! defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-#if ! defined(BOOST_NO_CXX11_HDR_TUPLE)
+//#if ! defined(BOOST_NO_CXX11_HDR_TUPLE)
     template< typename T0, typename ...T>
     struct future_when_all_tuple_shared_state: future_async_shared_state_base<
-      BOOST_THREAD_TUPLE<BOOST_THREAD_FUTURE<typename T0::value_type>, BOOST_THREAD_FUTURE<typename T::value_type>... >
+      csbl::tuple<BOOST_THREAD_FUTURE<typename T0::value_type>, BOOST_THREAD_FUTURE<typename T::value_type>... >
     >
     {
 
     };
     template< typename T0, typename ...T>
     struct future_when_any_tuple_shared_state: future_async_shared_state_base<
-      BOOST_THREAD_TUPLE<BOOST_THREAD_FUTURE<typename T0::value_type>, BOOST_THREAD_FUTURE<typename T::value_type>... >
+      csbl::tuple<BOOST_THREAD_FUTURE<typename T0::value_type>, BOOST_THREAD_FUTURE<typename T::value_type>... >
     >
     {
 
     };
-#endif
+//#endif
 #endif
 
 #if ! defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
@@ -4693,20 +4686,20 @@
     template< typename T0, typename ...T>
     struct when_type_impl<true, T0, T...>
     {
-      typedef BOOST_THREAD_VECTOR<typename decay<T0>::type> container_type;
+      typedef csbl::vector<typename decay<T0>::type> container_type;
       typedef typename container_type::value_type value_type;
       typedef detail::future_when_all_vector_shared_state<value_type> factory_all_type;
       typedef detail::future_when_any_vector_shared_state<value_type> factory_any_type;
     };
-#if ! defined(BOOST_NO_CXX11_HDR_TUPLE)
+//#if ! defined(BOOST_NO_CXX11_HDR_TUPLE)
     template< typename T0, typename ...T>
     struct when_type_impl<false, T0, T...>
     {
-      typedef BOOST_THREAD_TUPLE<BOOST_THREAD_FUTURE<typename T0::value_type>, BOOST_THREAD_FUTURE<typename T::value_type>... > container_type;
+      typedef csbl::tuple<BOOST_THREAD_FUTURE<typename T0::value_type>, BOOST_THREAD_FUTURE<typename T::value_type>... > container_type;
       typedef detail::future_when_all_tuple_shared_state<T0, T...> factory_all_type;
       typedef detail::future_when_any_tuple_shared_state<T0, T...> factory_any_type;
     };
-#endif
+//#endif
 
     template< typename T0, typename ...T>
     struct when_type : when_type_impl<are_same<T0, T...>::value, T0, T...> {};
@@ -4715,12 +4708,12 @@
 
   template< typename InputIterator>
   typename boost::disable_if<is_future_type<InputIterator>,
-    BOOST_THREAD_FUTURE<BOOST_THREAD_VECTOR<typename InputIterator::value_type>  >
+    BOOST_THREAD_FUTURE<csbl::vector<typename InputIterator::value_type>  >
   >::type
   when_all(InputIterator first, InputIterator last)
   {
     typedef  typename InputIterator::value_type value_type;
-    typedef  BOOST_THREAD_VECTOR<value_type> container_type;
+    typedef  csbl::vector<value_type> container_type;
     typedef  detail::future_when_all_vector_shared_state<value_type> factory_type;
 
     if (first==last) return make_ready_future(container_type());
@@ -4730,12 +4723,12 @@
     return BOOST_THREAD_FUTURE<container_type>(h);
   }
 
-#if ! defined(BOOST_NO_CXX11_HDR_TUPLE)
-  BOOST_THREAD_FUTURE<BOOST_THREAD_TUPLE<> > when_all()
+//#if ! defined(BOOST_NO_CXX11_HDR_TUPLE)
+  BOOST_THREAD_FUTURE<csbl::tuple<> > when_all()
   {
-    return make_ready_future(BOOST_THREAD_TUPLE<>());
+    return make_ready_future(csbl::tuple<>());
   }
-#endif
+//#endif
 
 #if ! defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
   template< typename T0, typename ...T>
@@ -4753,12 +4746,12 @@
 
   template< typename InputIterator>
   typename boost::disable_if<is_future_type<InputIterator>,
-    BOOST_THREAD_FUTURE<BOOST_THREAD_VECTOR<typename InputIterator::value_type>  >
+    BOOST_THREAD_FUTURE<csbl::vector<typename InputIterator::value_type>  >
   >::type
   when_any(InputIterator first, InputIterator last)
   {
     typedef  typename InputIterator::value_type value_type;
-    typedef  BOOST_THREAD_VECTOR<value_type> container_type;
+    typedef  csbl::vector<value_type> container_type;
     typedef  detail::future_when_any_vector_shared_state<value_type> factory_type;
 
     if (first==last) return make_ready_future(container_type());
@@ -4768,12 +4761,12 @@
     return BOOST_THREAD_FUTURE<container_type>(h);
   }
 
-#if ! defined(BOOST_NO_CXX11_HDR_TUPLE)
-  BOOST_THREAD_FUTURE<BOOST_THREAD_TUPLE<> > when_any()
+//#if ! defined(BOOST_NO_CXX11_HDR_TUPLE)
+  BOOST_THREAD_FUTURE<csbl::tuple<> > when_any()
   {
-    return make_ready_future(BOOST_THREAD_TUPLE<>());
+    return make_ready_future(csbl::tuple<>());
   }
-#endif
+//#endif
 
 #if ! defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
   template< typename T0, typename ...T>
Modified: trunk/boost/thread/thread_pool.hpp
==============================================================================
--- trunk/boost/thread/thread_pool.hpp	Sat Oct 26 19:25:53 2013	(r86470)
+++ trunk/boost/thread/thread_pool.hpp	2013-10-26 19:35:40 EDT (Sat, 26 Oct 2013)	(r86471)
@@ -18,11 +18,11 @@
 #include <boost/thread/detail/work.hpp>
 
 
-#ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL
-#include <boost/function.hpp>
-#else
-#include <functional>
-#endif
+//#ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL
+//#include <boost/function.hpp>
+//#else
+//#include <functional>
+//#endif
 
 #if defined  BOOST_NO_CXX11_RVALUE_REFERENCES
 #include <boost/container/vector.hpp>
@@ -173,38 +173,29 @@
      * \b Throws: \c sync_queue_is_closed if the thread pool is closed.
      * Whatever exception that can be throw while storing the closure.
      */
-#ifndef BOOST_THREAD_USES_NULLARY_FUNCTION_AS_WORK
+
+#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
     template <typename Closure>
-    void submit(Closure const & closure)
+    void submit(Closure & closure)
     {
       work w ((closure));
       work_queue.push(boost::move(w));
-      //work_queue.push(work(closure));
+      //work_queue.push(work(closure)); // todo check why this doesn't work
     }
-#else
-    #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-        template <typename Closure>
-        void submit(Closure & closure)
-        {
-          work w ((closure));
-          work_queue.push(boost::move(w));
-          //work_queue.push(work(closure));
-        }
-    #endif
-        void submit(void (*closure)())
-        {
-          work w ((closure));
-          work_queue.push(boost::move(w));
-          //work_queue.push(work(closure));
-        }
-
 #endif
+    void submit(void (*closure)())
+    {
+      work w ((closure));
+      work_queue.push(boost::move(w));
+      //work_queue.push(work(closure)); // todo check why this doesn't work
+    }
+
     template <typename Closure>
     void submit(BOOST_THREAD_RV_REF(Closure) closure)
     {
       work w =boost::move(closure);
       work_queue.push(boost::move(w));
-      //work_queue.push(work(boost::move(closure)));
+      //work_queue.push(work(boost::move(closure))); // todo check why this doesn't work
     }
 
     /**
@@ -216,7 +207,6 @@
     bool reschedule_until(Pred const& pred)
     {
       do {
-        //schedule_one_or_yield();
         if ( ! try_executing_one())
         {
           return false;