From b60c6746e488512ebba43926454cf777da76f02c Mon Sep 17 00:00:00 2001 From: Daniela Engert Date: Mon, 15 May 2017 19:47:42 +0200 Subject: [PATCH] Conditionally replace deprecated/removed std::auto_ptr by std::unique_ptr. Signed-off-by: Daniela Engert --- include/boost/statechart/processor_container.hpp | 31 +++++++++--------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/include/boost/statechart/processor_container.hpp b/include/boost/statechart/processor_container.hpp index 797e2f8f..e8104b68 100644 --- a/include/boost/statechart/processor_container.hpp +++ b/include/boost/statechart/processor_container.hpp @@ -24,7 +24,7 @@ #include #include -#include // std::allocator, std::auto_ptr +#include // std::allocator, std::unique_ptr @@ -64,7 +64,11 @@ template< class processor_container : noncopyable { typedef event_processor< Scheduler > processor_base_type; +#ifdef BOOST_NO_AUTO_PTR + typedef std::unique_ptr< processor_base_type > processor_holder_type; +#else typedef std::auto_ptr< processor_base_type > processor_holder_type; +#endif typedef shared_ptr< processor_holder_type > processor_holder_ptr_type; public: @@ -308,8 +312,7 @@ class processor_container : noncopyable const processor_context & context ) { processorSet_.insert( pProcessor ); - processor_holder_type holder( new Processor( context ) ); - *pProcessor = holder; + *pProcessor = processor_holder_type( new Processor( context ) ); } template< class Processor, typename Arg1 > @@ -318,8 +321,7 @@ class processor_container : noncopyable const processor_context & context, Arg1 arg1 ) { processorSet_.insert( pProcessor ); - processor_holder_type holder( new Processor( context, arg1 ) ); - *pProcessor = holder; + *pProcessor = processor_holder_type( new Processor( context, arg1 ) ); } template< class Processor, typename Arg1, typename Arg2 > @@ -328,8 +330,7 @@ class processor_container : noncopyable const processor_context & context, Arg1 arg1, Arg2 arg2 ) { processorSet_.insert( pProcessor ); - processor_holder_type holder( new Processor( context, arg1, arg2 ) ); - *pProcessor = holder; + *pProcessor = processor_holder_type( new Processor( context, arg1, arg2 ) ); } template< class Processor, typename Arg1, typename Arg2, typename Arg3 > @@ -338,9 +339,7 @@ class processor_container : noncopyable const processor_context & context, Arg1 arg1, Arg2 arg2, Arg3 arg3 ) { processorSet_.insert( pProcessor ); - processor_holder_type holder( - new Processor( context, arg1, arg2, arg3 ) ); - *pProcessor = holder; + *pProcessor = processor_holder_type( new Processor( context, arg1, arg2, arg3 ) ); } template< @@ -352,9 +351,7 @@ class processor_container : noncopyable Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4 ) { processorSet_.insert( pProcessor ); - processor_holder_type holder( - new Processor( context, arg1, arg2, arg3, arg4 ) ); - *pProcessor = holder; + *pProcessor = processor_holder_type( new Processor( context, arg1, arg2, arg3, arg4 ) ); } template< @@ -366,9 +363,7 @@ class processor_container : noncopyable Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4, Arg5 arg5 ) { processorSet_.insert( pProcessor ); - processor_holder_type holder( - new Processor( context, arg1, arg2, arg3, arg4, arg5 ) ); - *pProcessor = holder; + *pProcessor = processor_holder_type( new Processor( context, arg1, arg2, arg3, arg4, arg5 ) ); } template< @@ -380,9 +375,7 @@ class processor_container : noncopyable Arg1 arg1, Arg2 arg2, Arg3 arg3, Arg4 arg4, Arg5 arg5, Arg6 arg6 ) { processorSet_.insert( pProcessor ); - processor_holder_type holder( - new Processor( context, arg1, arg2, arg3, arg4, arg5, arg6 ) ); - *pProcessor = holder; + *pProcessor = processor_holder_type( new Processor( context, arg1, arg2, arg3, arg4, arg5, arg6 ) ); } void destroy_processor_impl( const processor_handle & processor )