libcopp  1.1.0
Public Types | Public Member Functions | Private Attributes | Friends
std::intrusive_ptr< T > Class Template Reference

#include <intrusive_ptr.h>

Collaboration diagram for std::intrusive_ptr< T >:
Collaboration graph

Public Types

typedef intrusive_ptr< T > self_type
 
typedef T element_type
 

Public Member Functions

UTIL_CONFIG_CONSTEXPR intrusive_ptr () UTIL_CONFIG_NOEXCEPT
 
 intrusive_ptr (T *p, bool add_ref=true)
 
template<typename U >
 intrusive_ptr (intrusive_ptr< U > const &rhs)
 
 intrusive_ptr (self_type const &rhs)
 
 ~intrusive_ptr ()
 
template<typename U >
intrusive_ptroperator= (intrusive_ptr< U > const &rhs)
 
self_typeoperator= (self_type const &rhs)
 
void reset () UTIL_CONFIG_NOEXCEPT
 
void reset (element_type *rhs)
 
void reset (element_type *rhs, bool add_ref)
 
element_typeget () const UTIL_CONFIG_NOEXCEPT
 
element_typedetach () UTIL_CONFIG_NOEXCEPT
 
element_typeoperator* () const
 
element_typeoperator-> () const
 
 operator bool () const UTIL_CONFIG_NOEXCEPT
 
bool operator! () const UTIL_CONFIG_NOEXCEPT
 
void swap (intrusive_ptr &rhs) UTIL_CONFIG_NOEXCEPT
 

Private Attributes

element_typepx
 

Friends

template<typename U >
class intrusive_ptr
 

Detailed Description

template<typename T>
class std::intrusive_ptr< T >

Definition at line 44 of file intrusive_ptr.h.

Member Typedef Documentation

template<typename T>
typedef T std::intrusive_ptr< T >::element_type

Definition at line 47 of file intrusive_ptr.h.

template<typename T>
typedef intrusive_ptr<T> std::intrusive_ptr< T >::self_type

Definition at line 46 of file intrusive_ptr.h.

Constructor & Destructor Documentation

template<typename T>
UTIL_CONFIG_CONSTEXPR std::intrusive_ptr< T >::intrusive_ptr ( )
inline

Definition at line 49 of file intrusive_ptr.h.

Referenced by std::intrusive_ptr< T >::operator=().

template<typename T>
std::intrusive_ptr< T >::intrusive_ptr ( T *  p,
bool  add_ref = true 
)
inline

Definition at line 51 of file intrusive_ptr.h.

References std::intrusive_ptr< T >::px.

template<typename T>
template<typename U >
std::intrusive_ptr< T >::intrusive_ptr ( intrusive_ptr< U > const &  rhs)
inline

Definition at line 58 of file intrusive_ptr.h.

References std::intrusive_ptr< T >::px.

template<typename T>
std::intrusive_ptr< T >::intrusive_ptr ( self_type const &  rhs)
inline

Definition at line 64 of file intrusive_ptr.h.

References std::intrusive_ptr< T >::px.

template<typename T>
std::intrusive_ptr< T >::~intrusive_ptr ( )
inline

Definition at line 70 of file intrusive_ptr.h.

References std::intrusive_ptr< T >::px.

Member Function Documentation

template<typename T>
element_type* std::intrusive_ptr< T >::detach ( )
inline

Definition at line 121 of file intrusive_ptr.h.

References std::intrusive_ptr< T >::px.

template<typename T>
element_type* std::intrusive_ptr< T >::get ( ) const
inline
template<typename T>
std::intrusive_ptr< T >::operator bool ( ) const
inline

Definition at line 138 of file intrusive_ptr.h.

References std::intrusive_ptr< T >::px.

template<typename T>
bool std::intrusive_ptr< T >::operator! ( ) const
inline

Definition at line 140 of file intrusive_ptr.h.

References std::intrusive_ptr< T >::px.

template<typename T>
element_type& std::intrusive_ptr< T >::operator* ( ) const
inline

Definition at line 127 of file intrusive_ptr.h.

References std::intrusive_ptr< T >::px.

template<typename T>
element_type* std::intrusive_ptr< T >::operator-> ( ) const
inline

Definition at line 132 of file intrusive_ptr.h.

References std::intrusive_ptr< T >::px.

template<typename T>
template<typename U >
intrusive_ptr& std::intrusive_ptr< T >::operator= ( intrusive_ptr< U > const &  rhs)
inline
template<typename T>
self_type& std::intrusive_ptr< T >::operator= ( self_type const &  rhs)
inline

Definition at line 108 of file intrusive_ptr.h.

template<typename T>
void std::intrusive_ptr< T >::reset ( )
inline
template<typename T>
void std::intrusive_ptr< T >::reset ( element_type rhs)
inline

Definition at line 115 of file intrusive_ptr.h.

template<typename T>
void std::intrusive_ptr< T >::reset ( element_type rhs,
bool  add_ref 
)
inline

Definition at line 117 of file intrusive_ptr.h.

template<typename T>
void std::intrusive_ptr< T >::swap ( intrusive_ptr< T > &  rhs)
inline

Definition at line 142 of file intrusive_ptr.h.

References std::intrusive_ptr< T >::px.

Referenced by std::intrusive_ptr< T >::operator=(), and std::swap().

Friends And Related Function Documentation

template<typename T>
template<typename U >
friend class intrusive_ptr
friend

Definition at line 77 of file intrusive_ptr.h.

Field Documentation

template<typename T>
element_type* std::intrusive_ptr< T >::px
private

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