Boost logo

Boost-Commit :

From: ahd6974-boostorg_at_[hidden]
Date: 2008-04-06 11:16:01


Author: andreas_huber69
Date: 2008-04-06 11:16:00 EDT (Sun, 06 Apr 2008)
New Revision: 44071
URL: http://svn.boost.org/trac/boost/changeset/44071

Log:
Adapted fifo_scheduler<> to the changed allocator interface of boost::function.
Text files modified:
   trunk/boost/statechart/fifo_worker.hpp | 2
   trunk/boost/statechart/processor_container.hpp | 70 ++++++++++++++++++++++++---------------
   trunk/libs/statechart/doc/future_and_history.html | 2 +
   trunk/libs/statechart/doc/index.html | 2
   4 files changed, 47 insertions(+), 29 deletions(-)

Modified: trunk/boost/statechart/fifo_worker.hpp
==============================================================================
--- trunk/boost/statechart/fifo_worker.hpp (original)
+++ trunk/boost/statechart/fifo_worker.hpp 2008-04-06 11:16:00 EDT (Sun, 06 Apr 2008)
@@ -67,7 +67,7 @@
     {
     }
 
- typedef function0< void, Allocator > work_item;
+ typedef function0< void > work_item;
 
     // We take a non-const reference so that we can move (i.e. swap) the item
     // into the queue, what avoids copying the (possibly heap-allocated)

Modified: trunk/boost/statechart/processor_container.hpp
==============================================================================
--- trunk/boost/statechart/processor_container.hpp (original)
+++ trunk/boost/statechart/processor_container.hpp 2008-04-06 11:16:00 EDT (Sun, 06 Apr 2008)
@@ -89,8 +89,10 @@
         const processor_holder_ptr_type &, const processor_context & );
       impl_fun_ptr pImpl =
         &processor_container::template create_processor_impl0< Processor >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ) );
+ return WorkItem(
+ bind( pImpl, this, pProcessor,
+ processor_context( scheduler, handle ) ),
+ Allocator() );
     }
 
     template< class Processor, typename Arg1 >
@@ -104,8 +106,10 @@
       impl_fun_ptr pImpl =
         &processor_container::template create_processor_impl1<
           Processor, Arg1 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ), arg1 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1 ),
+ Allocator() );
     }
 
     template< class Processor, typename Arg1, typename Arg2 >
@@ -120,9 +124,10 @@
       impl_fun_ptr pImpl =
         &processor_container::template create_processor_impl2<
           Processor, Arg1, Arg2 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ),
- arg1, arg2 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1, arg2 ),
+ Allocator() );
     }
 
     template< class Processor, typename Arg1, typename Arg2, typename Arg3 >
@@ -139,9 +144,10 @@
       impl_fun_ptr pImpl =
         &processor_container::template create_processor_impl3<
           Processor, Arg1, Arg2, Arg3 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ),
- arg1, arg2, arg3 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1, arg2, arg3 ),
+ Allocator() );
     }
 
     template<
@@ -160,9 +166,10 @@
       impl_fun_ptr pImpl =
         &processor_container::template create_processor_impl4<
           Processor, Arg1, Arg2, Arg3, Arg4 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ),
- arg1, arg2, arg3, arg4 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1, arg2, arg3, arg4 ),
+ Allocator() );
     }
 
     template<
@@ -181,9 +188,10 @@
       impl_fun_ptr pImpl =
         &processor_container::template create_processor_impl5<
           Processor, Arg1, Arg2, Arg3, Arg4, Arg5 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ),
- arg1, arg2, arg3, arg4, arg5 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1, arg2, arg3, arg4, arg5 ),
+ Allocator() );
     }
 
     template<
@@ -202,27 +210,33 @@
       impl_fun_ptr pImpl =
         &processor_container::template create_processor_impl6<
           Processor, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6 >;
- return bind(
- pImpl, this, pProcessor, processor_context( scheduler, handle ),
- arg1, arg2, arg3, arg4, arg5, arg6 );
+ return WorkItem(
+ bind( pImpl, this, pProcessor, processor_context( scheduler, handle ),
+ arg1, arg2, arg3, arg4, arg5, arg6 ),
+ Allocator() );
     }
 
     WorkItem destroy_processor( const processor_handle & processor )
     {
- return bind(
- &processor_container::destroy_processor_impl, this, processor );
+ return WorkItem(
+ bind( &processor_container::destroy_processor_impl, this, processor ),
+ Allocator() );
     }
 
     WorkItem initiate_processor( const processor_handle & processor )
     {
- return bind(
- &processor_container::initiate_processor_impl, this, processor );
+ return WorkItem(
+ bind( &processor_container::initiate_processor_impl, this,
+ processor ),
+ Allocator() );
     }
 
     WorkItem terminate_processor( const processor_handle & processor )
     {
- return bind(
- &processor_container::terminate_processor_impl, this, processor );
+ return WorkItem(
+ bind( &processor_container::terminate_processor_impl, this,
+ processor ),
+ Allocator() );
     }
 
     typedef intrusive_ptr< const event_base > event_ptr_type;
@@ -232,8 +246,10 @@
     {
       BOOST_ASSERT( pEvent.get() != 0 );
 
- return bind(
- &processor_container::queue_event_impl, this, processor, pEvent );
+ return WorkItem(
+ bind( &processor_container::queue_event_impl, this, processor,
+ pEvent ),
+ Allocator() );
     }
 
   private:

Modified: trunk/libs/statechart/doc/future_and_history.html
==============================================================================
--- trunk/libs/statechart/doc/future_and_history.html (original)
+++ trunk/libs/statechart/doc/future_and_history.html 2008-04-06 11:16:00 EDT (Sun, 06 Apr 2008)
@@ -152,6 +152,8 @@
     <li>Added defaults for the last two template parameters of <a href=
       "reference.html#ClassTemplatein_state_reaction">in_state_reaction<></a>
       (due to feedback from Sean Kelly)</li>
+ <li>Adapted fifo_scheduler&lt;&gt; to the changed allocator interface of
+ boost::function</li>
   </ul>
 
   <p>1.35.0</p>

Modified: trunk/libs/statechart/doc/index.html
==============================================================================
--- trunk/libs/statechart/doc/index.html (original)
+++ trunk/libs/statechart/doc/index.html 2008-04-06 11:16:00 EDT (Sun, 06 Apr 2008)
@@ -122,7 +122,7 @@
 
   <p>Whether and how Boost.Statechart will work on your platform is best
   determined on the <a href=
- "http://beta.boost.org/development/tests/trunk/user/statechart.html">
+ "http://www.boost.org/development/tests/trunk/user/statechart.html">
   status page</a>. If the cells in your compilers column are all green, the
   library should work as advertised. Cells of different color indicate
   possible problems; follow the links for details. Before employing the


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk