This is Unofficial EPICS BASE Doxygen Site
boost::detail::sp_counted_impl_pda< P, D, A > Class Template Reference

#include "sp_counted_impl.hpp"

+ Inheritance diagram for boost::detail::sp_counted_impl_pda< P, D, A >:
+ Collaboration diagram for boost::detail::sp_counted_impl_pda< P, D, A >:

Public Member Functions

 sp_counted_impl_pda (P p, D &d, A a)
 
 sp_counted_impl_pda (P p, A a)
 
virtual void dispose ()
 
virtual void destroy ()
 
virtual void * get_deleter (detail::sp_typeinfo const &ti)
 
virtual void * get_untyped_deleter ()
 
- Public Member Functions inherited from boost::detail::sp_counted_base
 sp_counted_base ()
 
virtual ~sp_counted_base ()
 
void add_ref_copy ()
 
bool add_ref_lock ()
 
void release ()
 
void weak_add_ref ()
 
void weak_release ()
 
long use_count () const
 
 sp_counted_base ()
 
virtual ~sp_counted_base ()
 
void add_ref_copy ()
 
bool add_ref_lock ()
 
void release ()
 
void weak_add_ref ()
 
void weak_release ()
 
long use_count () const
 

Detailed Description

template<class P, class D, class A>
class boost::detail::sp_counted_impl_pda< P, D, A >

Definition at line 195 of file sp_counted_impl.hpp.

Constructor & Destructor Documentation

template<class P , class D , class A >
boost::detail::sp_counted_impl_pda< P, D, A >::sp_counted_impl_pda ( p,
D &  d,
a 
)
inline

Definition at line 212 of file sp_counted_impl.hpp.

212  : p_( p ), d_( d ), a_( a )
213  {
214  }
template<class P , class D , class A >
boost::detail::sp_counted_impl_pda< P, D, A >::sp_counted_impl_pda ( p,
a 
)
inline

Definition at line 216 of file sp_counted_impl.hpp.

216  : p_( p ), d_(), a_( a )
217  {
218  }

Member Function Documentation

template<class P , class D , class A >
virtual void boost::detail::sp_counted_impl_pda< P, D, A >::destroy ( )
inlinevirtual

Reimplemented from boost::detail::sp_counted_base.

Definition at line 225 of file sp_counted_impl.hpp.

226  {
227  typedef typename A::template rebind< this_type >::other A2;
228 
229  A2 a2( a_ );
230 
231  this->~this_type();
232  a2.deallocate( this, 1 );
233  }
template<class P , class D , class A >
virtual void boost::detail::sp_counted_impl_pda< P, D, A >::dispose ( )
inlinevirtual

Implements boost::detail::sp_counted_base.

Definition at line 220 of file sp_counted_impl.hpp.

221  {
222  d_( p_ );
223  }
template<class P , class D , class A >
virtual void* boost::detail::sp_counted_impl_pda< P, D, A >::get_deleter ( detail::sp_typeinfo const &  ti)
inlinevirtual

Implements boost::detail::sp_counted_base.

Definition at line 235 of file sp_counted_impl.hpp.

236  {
237  return ti == BOOST_SP_TYPEID( D )? &reinterpret_cast<char&>( d_ ): 0;
238  }
#define BOOST_SP_TYPEID(T)
template<class P , class D , class A >
virtual void* boost::detail::sp_counted_impl_pda< P, D, A >::get_untyped_deleter ( )
inlinevirtual

Implements boost::detail::sp_counted_base.

Definition at line 240 of file sp_counted_impl.hpp.

241  {
242  return &reinterpret_cast<char&>( d_ );
243  }

The documentation for this class was generated from the following file: