Go to the documentation of this file.
2 #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
3 #define BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
7 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
22 #if defined(BOOST_SP_USE_STD_ALLOCATOR) && defined(BOOST_SP_USE_QUICK_ALLOCATOR)
23 # error BOOST_SP_USE_STD_ALLOCATOR and BOOST_SP_USE_QUICK_ALLOCATOR are incompatible.
29 #if defined(BOOST_SP_USE_STD_ALLOCATOR)
38 #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
40 void sp_scalar_constructor_hook(
void * px, std::size_t size,
void * pn );
41 void sp_scalar_destructor_hook(
void * px, std::size_t size,
void * pn );
76 #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
77 boost::sp_scalar_constructor_hook( px,
sizeof(X),
this );
83 #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
84 boost::sp_scalar_destructor_hook(
px_,
sizeof(X),
this );
104 #if defined(BOOST_SP_USE_STD_ALLOCATOR)
106 void *
operator new( std::size_t )
111 void operator delete(
void * p )
118 #if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
120 void *
operator new( std::size_t )
122 return quick_allocator<this_type>::alloc();
125 void operator delete(
void * p )
127 quick_allocator<this_type>::dealloc( p );
137 # pragma option push -Vx-
181 return &
reinterpret_cast<char&
>(
del );
184 #if defined(BOOST_SP_USE_STD_ALLOCATOR)
186 void *
operator new( std::size_t )
191 void operator delete(
void * p )
198 #if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
200 void *
operator new( std::size_t )
202 return quick_allocator<this_type>::alloc();
205 void operator delete(
void * p )
207 quick_allocator<this_type>::dealloc( p );
245 #if !defined( BOOST_NO_CXX11_ALLOCATOR )
247 typedef typename std::allocator_traits<A>::template rebind_alloc< this_type > A2;
251 typedef typename A::template rebind< this_type >::other A2;
259 a2.deallocate(
this, 1 );
274 return &
reinterpret_cast<char&
>(
d_ );
286 #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
sp_counted_impl_pda & operator=(sp_counted_impl_pda const &)
sp_counted_impl_pda< P, D, A > this_type
sp_counted_impl_pda(sp_counted_impl_pda const &)
D * get_local_deleter(D *)
sp_counted_impl_pd< P, D > this_type
virtual void * get_local_deleter(sp_typeinfo const &ti)
virtual void * get_local_deleter(sp_typeinfo const &ti)
std::type_info sp_typeinfo
virtual void * get_local_deleter(sp_typeinfo const &)
sp_counted_impl_p< X > this_type
virtual void * get_untyped_deleter()
virtual void * get_untyped_deleter()
virtual void * get_deleter(sp_typeinfo const &)
virtual void * get_untyped_deleter()
sp_counted_impl_pd & operator=(sp_counted_impl_pd const &)
virtual void * get_deleter(sp_typeinfo const &ti)
sp_counted_impl_p(sp_counted_impl_p const &)
virtual void * get_deleter(sp_typeinfo const &ti)
sp_counted_impl_p & operator=(sp_counted_impl_p const &)
sp_counted_impl_pda(P p, D &d, A a)
void checked_delete(T *x)
sp_counted_impl_pd(sp_counted_impl_pd const &)
sp_counted_impl_pd(P p, D &d)
#define BOOST_SP_TYPEID(T)
sp_counted_impl_pda(P p, A a)
sick_scan_xd
Author(s): Michael Lehning
, Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:12