mirror of
https://github.com/boostorg/smart_ptr.git
synced 2025-07-30 12:47:28 +02:00
Remove uses of BOOST_NO_CXX11_ALLOCATOR
This commit is contained in:
@ -231,16 +231,8 @@ public:
|
|||||||
{
|
{
|
||||||
typedef sp_counted_impl_pda<P, D, A> impl_type;
|
typedef sp_counted_impl_pda<P, D, A> impl_type;
|
||||||
|
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
typedef typename std::allocator_traits<A>::template rebind_alloc< impl_type > A2;
|
typedef typename std::allocator_traits<A>::template rebind_alloc< impl_type > A2;
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
typedef typename A::template rebind< impl_type >::other A2;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
A2 a2( a );
|
A2 a2( a );
|
||||||
|
|
||||||
#ifndef BOOST_NO_EXCEPTIONS
|
#ifndef BOOST_NO_EXCEPTIONS
|
||||||
@ -286,16 +278,8 @@ public:
|
|||||||
{
|
{
|
||||||
typedef sp_counted_impl_pda< P, D, A > impl_type;
|
typedef sp_counted_impl_pda< P, D, A > impl_type;
|
||||||
|
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
typedef typename std::allocator_traits<A>::template rebind_alloc< impl_type > A2;
|
typedef typename std::allocator_traits<A>::template rebind_alloc< impl_type > A2;
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
typedef typename A::template rebind< impl_type >::other A2;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
A2 a2( a );
|
A2 a2( a );
|
||||||
|
|
||||||
#ifndef BOOST_NO_EXCEPTIONS
|
#ifndef BOOST_NO_EXCEPTIONS
|
||||||
|
@ -238,16 +238,8 @@ public:
|
|||||||
|
|
||||||
void destroy() BOOST_SP_NOEXCEPT BOOST_OVERRIDE
|
void destroy() BOOST_SP_NOEXCEPT BOOST_OVERRIDE
|
||||||
{
|
{
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
typedef typename std::allocator_traits<A>::template rebind_alloc< this_type > A2;
|
typedef typename std::allocator_traits<A>::template rebind_alloc< this_type > A2;
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
typedef typename A::template rebind< this_type >::other A2;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
A2 a2( a_ );
|
A2 a2( a_ );
|
||||||
|
|
||||||
this->~this_type();
|
this->~this_type();
|
||||||
|
@ -59,16 +59,8 @@ private:
|
|||||||
{
|
{
|
||||||
T * p = reinterpret_cast< T* >( storage_.data_ );
|
T * p = reinterpret_cast< T* >( storage_.data_ );
|
||||||
|
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
std::allocator_traits<A>::destroy( a_, p );
|
std::allocator_traits<A>::destroy( a_, p );
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
p->~T();
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
initialized_ = false;
|
initialized_ = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -113,16 +105,8 @@ public:
|
|||||||
|
|
||||||
template<class T, class A, class... Args> typename boost::detail::lsp_if_not_array<T>::type allocate_local_shared( A const & a, Args&&... args )
|
template<class T, class A, class... Args> typename boost::detail::lsp_if_not_array<T>::type allocate_local_shared( A const & a, Args&&... args )
|
||||||
{
|
{
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
typedef typename std::allocator_traits<A>::template rebind_alloc<T> A2;
|
typedef typename std::allocator_traits<A>::template rebind_alloc<T> A2;
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
typedef typename A::template rebind<T>::other A2;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
A2 a2( a );
|
A2 a2( a );
|
||||||
|
|
||||||
typedef boost::detail::lsp_ms_deleter<T, A2> D;
|
typedef boost::detail::lsp_ms_deleter<T, A2> D;
|
||||||
@ -132,16 +116,8 @@ template<class T, class A, class... Args> typename boost::detail::lsp_if_not_arr
|
|||||||
D * pd = static_cast< D* >( pt._internal_get_untyped_deleter() );
|
D * pd = static_cast< D* >( pt._internal_get_untyped_deleter() );
|
||||||
void * pv = pd->address();
|
void * pv = pd->address();
|
||||||
|
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
std::allocator_traits<A2>::construct( a2, static_cast< T* >( pv ), std::forward<Args>( args )... );
|
std::allocator_traits<A2>::construct( a2, static_cast< T* >( pv ), std::forward<Args>( args )... );
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
::new( pv ) T( std::forward<Args>( args )... );
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
pd->set_initialized();
|
pd->set_initialized();
|
||||||
|
|
||||||
T * pt2 = static_cast< T* >( pv );
|
T * pt2 = static_cast< T* >( pv );
|
||||||
@ -154,16 +130,8 @@ template<class T, class A, class... Args> typename boost::detail::lsp_if_not_arr
|
|||||||
|
|
||||||
template<class T, class A> typename boost::detail::lsp_if_not_array<T>::type allocate_local_shared_noinit( A const & a )
|
template<class T, class A> typename boost::detail::lsp_if_not_array<T>::type allocate_local_shared_noinit( A const & a )
|
||||||
{
|
{
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
typedef typename std::allocator_traits<A>::template rebind_alloc<T> A2;
|
typedef typename std::allocator_traits<A>::template rebind_alloc<T> A2;
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
typedef typename A::template rebind<T>::other A2;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
A2 a2( a );
|
A2 a2( a );
|
||||||
|
|
||||||
typedef boost::detail::lsp_ms_deleter< T, std::allocator<T> > D;
|
typedef boost::detail::lsp_ms_deleter< T, std::allocator<T> > D;
|
||||||
|
@ -124,16 +124,8 @@ private:
|
|||||||
{
|
{
|
||||||
T * p = reinterpret_cast< T* >( storage_.data_ );
|
T * p = reinterpret_cast< T* >( storage_.data_ );
|
||||||
|
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
std::allocator_traits<A>::destroy( a_, p );
|
std::allocator_traits<A>::destroy( a_, p );
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
p->~T();
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
initialized_ = false;
|
initialized_ = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -248,8 +240,6 @@ template< class T, class... Args > typename boost::detail::sp_if_not_array< T >:
|
|||||||
|
|
||||||
template< class T, class A, class... Args > typename boost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, Args && ... args )
|
template< class T, class A, class... Args > typename boost::detail::sp_if_not_array< T >::type allocate_shared( A const & a, Args && ... args )
|
||||||
{
|
{
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
typedef typename std::allocator_traits<A>::template rebind_alloc<T> A2;
|
typedef typename std::allocator_traits<A>::template rebind_alloc<T> A2;
|
||||||
A2 a2( a );
|
A2 a2( a );
|
||||||
|
|
||||||
@ -257,27 +247,11 @@ template< class T, class A, class... Args > typename boost::detail::sp_if_not_ar
|
|||||||
|
|
||||||
boost::shared_ptr< T > pt( static_cast< T* >( 0 ), boost::detail::sp_inplace_tag<D>(), a2 );
|
boost::shared_ptr< T > pt( static_cast< T* >( 0 ), boost::detail::sp_inplace_tag<D>(), a2 );
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
typedef boost::detail::sp_ms_deleter< T > D;
|
|
||||||
|
|
||||||
boost::shared_ptr< T > pt( static_cast< T* >( 0 ), boost::detail::sp_inplace_tag<D>(), a );
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
D * pd = static_cast< D* >( pt._internal_get_untyped_deleter() );
|
D * pd = static_cast< D* >( pt._internal_get_untyped_deleter() );
|
||||||
void * pv = pd->address();
|
void * pv = pd->address();
|
||||||
|
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
std::allocator_traits<A2>::construct( a2, static_cast< T* >( pv ), std::forward<Args>( args )... );
|
std::allocator_traits<A2>::construct( a2, static_cast< T* >( pv ), std::forward<Args>( args )... );
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
::new( pv ) T( std::forward<Args>( args )... );
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
pd->set_initialized();
|
pd->set_initialized();
|
||||||
|
|
||||||
T * pt2 = static_cast< T* >( pv );
|
T * pt2 = static_cast< T* >( pv );
|
||||||
|
@ -15,8 +15,6 @@
|
|||||||
#include <boost/config.hpp>
|
#include <boost/config.hpp>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
template< class T > class cxx11_allocator
|
template< class T > class cxx11_allocator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -230,12 +228,3 @@ int main()
|
|||||||
|
|
||||||
return boost::report_errors();
|
return boost::report_errors();
|
||||||
}
|
}
|
||||||
|
|
||||||
#else // !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
@ -5,10 +5,9 @@ Copyright 2012-2015 Glen Joseph Fernandes
|
|||||||
Distributed under the Boost Software License, Version 1.0.
|
Distributed under the Boost Software License, Version 1.0.
|
||||||
(http://www.boost.org/LICENSE_1_0.txt)
|
(http://www.boost.org/LICENSE_1_0.txt)
|
||||||
*/
|
*/
|
||||||
#include <boost/config.hpp>
|
|
||||||
#if !defined(BOOST_NO_CXX11_ALLOCATOR)
|
|
||||||
#include <boost/core/lightweight_test.hpp>
|
|
||||||
#include <boost/smart_ptr/make_shared.hpp>
|
#include <boost/smart_ptr/make_shared.hpp>
|
||||||
|
#include <boost/core/lightweight_test.hpp>
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
|
||||||
struct allow { };
|
struct allow { };
|
||||||
|
|
||||||
@ -155,9 +154,3 @@ int main()
|
|||||||
}
|
}
|
||||||
return boost::report_errors();
|
return boost::report_errors();
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
@ -8,14 +8,12 @@
|
|||||||
// See accompanying file LICENSE_1_0.txt or copy at
|
// See accompanying file LICENSE_1_0.txt or copy at
|
||||||
// http://www.boost.org/LICENSE_1_0.txt
|
// http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
#include <boost/core/lightweight_test.hpp>
|
|
||||||
#include <boost/make_shared.hpp>
|
#include <boost/make_shared.hpp>
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/weak_ptr.hpp>
|
#include <boost/weak_ptr.hpp>
|
||||||
|
#include <boost/core/lightweight_test.hpp>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
template< class T > class cxx11_allocator
|
template< class T > class cxx11_allocator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -229,12 +227,3 @@ int main()
|
|||||||
|
|
||||||
return boost::report_errors();
|
return boost::report_errors();
|
||||||
}
|
}
|
||||||
|
|
||||||
#else // !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
@ -11,13 +11,11 @@
|
|||||||
// http://www.boost.org/LICENSE_1_0.txt
|
// http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
|
|
||||||
#include <boost/core/lightweight_test.hpp>
|
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
|
#include <boost/core/lightweight_test.hpp>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
#if !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
template< class T > class cxx11_allocator
|
template< class T > class cxx11_allocator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -105,12 +103,3 @@ int main()
|
|||||||
|
|
||||||
return boost::report_errors();
|
return boost::report_errors();
|
||||||
}
|
}
|
||||||
|
|
||||||
#else // !defined( BOOST_NO_CXX11_ALLOCATOR )
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
@ -5,10 +5,9 @@ Copyright 2017 Glen Joseph Fernandes
|
|||||||
Distributed under the Boost Software License, Version 1.0.
|
Distributed under the Boost Software License, Version 1.0.
|
||||||
(http://www.boost.org/LICENSE_1_0.txt)
|
(http://www.boost.org/LICENSE_1_0.txt)
|
||||||
*/
|
*/
|
||||||
#include <boost/core/lightweight_test.hpp>
|
|
||||||
#include <boost/make_shared.hpp>
|
#include <boost/make_shared.hpp>
|
||||||
|
#include <boost/core/lightweight_test.hpp>
|
||||||
|
|
||||||
#if !defined(BOOST_NO_CXX11_ALLOCATOR)
|
|
||||||
struct counters {
|
struct counters {
|
||||||
unsigned allocate;
|
unsigned allocate;
|
||||||
unsigned construct;
|
unsigned construct;
|
||||||
@ -120,9 +119,3 @@ int main()
|
|||||||
}
|
}
|
||||||
return boost::report_errors();
|
return boost::report_errors();
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
Reference in New Issue
Block a user