Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::intrusive_ptr< T > Class Template Reference

#include <intrusive_ptr.hpp>

Inheritance diagram for boost::intrusive_ptr< T >:

Public Types

typedef T element_type
 

Public Member Functions

 intrusive_ptr () BOOST_NOEXCEPT
 
 intrusive_ptr (T *p, bool add_ref=true)
 
template<class U >
 intrusive_ptr (intrusive_ptr< U > const &rhs, typename boost::detail::sp_enable_if_convertible< U, T >::type=boost::detail::sp_empty())
 
 intrusive_ptr (intrusive_ptr const &rhs)
 
 ~intrusive_ptr ()
 
template<class U >
intrusive_ptroperator= (intrusive_ptr< U > const &rhs)
 
 intrusive_ptr (intrusive_ptr &&rhs) BOOST_NOEXCEPT
 
intrusive_ptroperator= (intrusive_ptr &&rhs) BOOST_NOEXCEPT
 
intrusive_ptroperator= (intrusive_ptr const &rhs)
 
intrusive_ptroperator= (T *rhs)
 
void reset () BOOST_NOEXCEPT
 
void reset (T *rhs)
 
void reset (T *rhs, bool add_ref)
 
Tget () const BOOST_NOEXCEPT
 
Tdetach () BOOST_NOEXCEPT
 
Toperator* () const
 
Toperator-> () const
 
void swap (intrusive_ptr &rhs) BOOST_NOEXCEPT
 

Member Typedef Documentation

template<class T>
typedef T boost::intrusive_ptr< T >::element_type

Constructor & Destructor Documentation

template<class T>
boost::intrusive_ptr< T >::intrusive_ptr ( )
inline
template<class T>
boost::intrusive_ptr< T >::intrusive_ptr ( T p,
bool  add_ref = true 
)
inline
template<class T>
template<class U >
boost::intrusive_ptr< T >::intrusive_ptr ( intrusive_ptr< U > const &  rhs,
typename boost::detail::sp_enable_if_convertible< U, T >::type  = boost::detail::sp_empty() 
)
inline
template<class T>
boost::intrusive_ptr< T >::intrusive_ptr ( intrusive_ptr< T > const &  rhs)
inline
template<class T>
boost::intrusive_ptr< T >::~intrusive_ptr ( )
inline
template<class T>
boost::intrusive_ptr< T >::intrusive_ptr ( intrusive_ptr< T > &&  rhs)
inline

Member Function Documentation

template<class T>
T* boost::intrusive_ptr< T >::detach ( )
inline
template<class T>
T& boost::intrusive_ptr< T >::operator* ( ) const
inline
template<class T>
T* boost::intrusive_ptr< T >::operator-> ( ) const
inline
template<class T>
template<class U >
intrusive_ptr& boost::intrusive_ptr< T >::operator= ( intrusive_ptr< U > const &  rhs)
inline
template<class T>
intrusive_ptr& boost::intrusive_ptr< T >::operator= ( intrusive_ptr< T > &&  rhs)
inline
template<class T>
intrusive_ptr& boost::intrusive_ptr< T >::operator= ( intrusive_ptr< T > const &  rhs)
inline
template<class T>
intrusive_ptr& boost::intrusive_ptr< T >::operator= ( T rhs)
inline
template<class T>
void boost::intrusive_ptr< T >::reset ( void  )
inline
template<class T>
void boost::intrusive_ptr< T >::reset ( T rhs)
inline
template<class T>
void boost::intrusive_ptr< T >::reset ( T rhs,
bool  add_ref 
)
inline

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