forked from boostorg/smart_ptr
Use unique_ptr instead of auto_ptr when available
This commit is contained in:
@@ -77,8 +77,16 @@ public:
|
|||||||
|
|
||||||
extern "C" void * lw_thread_routine( void * pv )
|
extern "C" void * lw_thread_routine( void * pv )
|
||||||
{
|
{
|
||||||
|
#if defined(BOOST_NO_CXX11_SMART_PTR)
|
||||||
|
|
||||||
std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
|
std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
std::unique_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
pt->run();
|
pt->run();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -88,8 +96,16 @@ extern "C" void * lw_thread_routine( void * pv )
|
|||||||
|
|
||||||
unsigned __stdcall lw_thread_routine( void * pv )
|
unsigned __stdcall lw_thread_routine( void * pv )
|
||||||
{
|
{
|
||||||
|
#if defined(BOOST_NO_CXX11_SMART_PTR)
|
||||||
|
|
||||||
std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
|
std::auto_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
std::unique_ptr<lw_abstract_thread> pt( static_cast<lw_abstract_thread *>( pv ) );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
pt->run();
|
pt->run();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -117,8 +133,16 @@ private:
|
|||||||
|
|
||||||
template<class F> int lw_thread_create( pthread_t & pt, F f )
|
template<class F> int lw_thread_create( pthread_t & pt, F f )
|
||||||
{
|
{
|
||||||
|
#if defined(BOOST_NO_CXX11_SMART_PTR)
|
||||||
|
|
||||||
std::auto_ptr<lw_abstract_thread> p( new lw_thread_impl<F>( f ) );
|
std::auto_ptr<lw_abstract_thread> p( new lw_thread_impl<F>( f ) );
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
std::unique_ptr<lw_abstract_thread> p( new lw_thread_impl<F>( f ) );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
int r = pthread_create( &pt, 0, lw_thread_routine, p.get() );
|
int r = pthread_create( &pt, 0, lw_thread_routine, p.get() );
|
||||||
|
|
||||||
if( r == 0 )
|
if( r == 0 )
|
||||||
|
Reference in New Issue
Block a user