MADNESS  version 0.9
Public Types | Public Member Functions | Friends | List of all members
madness::tr1::shptr::shared_ptr< T > Class Template Reference

#include <shared_ptr_bits.h>

Public Types

typedef T element_type
 
typedef T value_type
 
typedef T * pointer
 
typedef
detail::shared_ptr_traits< T >
::reference 
reference
 

Public Member Functions

 shared_ptr ()
 
template<class Y >
 shared_ptr (Y *p)
 
template<class Y , class D >
 shared_ptr (Y *p, D d)
 
template<class Y >
 shared_ptr (weak_ptr< Y > const &r)
 
template<class Y >
 shared_ptr (shared_ptr< Y > const &r, typename detail::enable_if_convertible< Y, T >::type=detail::sp_empty())
 
template<class Y >
 shared_ptr (shared_ptr< Y > const &r, T *p)
 
template<class Y >
 shared_ptr (shared_ptr< Y > const &r, detail::static_cast_tag)
 
template<class Y >
 shared_ptr (shared_ptr< Y > const &r, detail::const_cast_tag)
 
template<class Y >
 shared_ptr (shared_ptr< Y > const &r, detail::dynamic_cast_tag)
 
shared_ptroperator= (shared_ptr const &r)
 
void reset ()
 
template<class Y >
void reset (Y *p)
 
template<class Y , class D >
void reset (Y *p, D d)
 
template<class Y >
void reset (shared_ptr< Y > const &r, T *p)
 
reference operator* () const
 
T * operator-> () const
 
T * get () const
 
 operator bool () const
 
bool operator! () const
 
bool unique () const
 
long use_count () const
 
void swap (shared_ptr< T > &other)
 
template<class Y >
bool _internal_less (shared_ptr< Y > const &rhs) const
 
void * _internal_get_deleter (std::type_info const &ti) const
 
bool _internal_equiv (shared_ptr const &r) const
 

Friends

template<class Y >
class shared_ptr
 
template<class Y >
class weak_ptr
 

Member Typedef Documentation

template<class T>
typedef T madness::tr1::shptr::shared_ptr< T >::element_type
template<class T>
typedef T* madness::tr1::shptr::shared_ptr< T >::pointer
template<class T>
typedef T madness::tr1::shptr::shared_ptr< T >::value_type

Constructor & Destructor Documentation

template<class T>
madness::tr1::shptr::shared_ptr< T >::shared_ptr ( )
inline
template<class T>
template<class Y >
madness::tr1::shptr::shared_ptr< T >::shared_ptr ( Y *  p)
inlineexplicit
template<class T>
template<class Y , class D >
madness::tr1::shptr::shared_ptr< T >::shared_ptr ( Y *  p,
d 
)
inline
template<class T>
template<class Y >
madness::tr1::shptr::shared_ptr< T >::shared_ptr ( weak_ptr< Y > const &  r)
inlineexplicit
template<class T>
template<class Y >
madness::tr1::shptr::shared_ptr< T >::shared_ptr ( shared_ptr< Y > const &  r,
typename detail::enable_if_convertible< Y, T >::type  = detail::sp_empty() 
)
inline
template<class T>
template<class Y >
madness::tr1::shptr::shared_ptr< T >::shared_ptr ( shared_ptr< Y > const &  r,
T *  p 
)
inline
template<class T>
template<class Y >
madness::tr1::shptr::shared_ptr< T >::shared_ptr ( shared_ptr< Y > const &  r,
detail::static_cast_tag   
)
inline
template<class T>
template<class Y >
madness::tr1::shptr::shared_ptr< T >::shared_ptr ( shared_ptr< Y > const &  r,
detail::const_cast_tag   
)
inline
template<class T>
template<class Y >
madness::tr1::shptr::shared_ptr< T >::shared_ptr ( shared_ptr< Y > const &  r,
detail::dynamic_cast_tag   
)
inline

Member Function Documentation

template<class T>
bool madness::tr1::shptr::shared_ptr< T >::_internal_equiv ( shared_ptr< T > const &  r) const
inline
template<class T>
void* madness::tr1::shptr::shared_ptr< T >::_internal_get_deleter ( std::type_info const &  ti) const
inline
template<class T>
template<class Y >
bool madness::tr1::shptr::shared_ptr< T >::_internal_less ( shared_ptr< Y > const &  rhs) const
inline
template<class T>
T* madness::tr1::shptr::shared_ptr< T >::get ( ) const
inline
template<class T>
madness::tr1::shptr::shared_ptr< T >::operator bool ( ) const
inline
template<class T>
bool madness::tr1::shptr::shared_ptr< T >::operator! ( ) const
inline
template<class T>
reference madness::tr1::shptr::shared_ptr< T >::operator* ( ) const
inline
template<class T>
T* madness::tr1::shptr::shared_ptr< T >::operator-> ( ) const
inline
template<class T>
shared_ptr& madness::tr1::shptr::shared_ptr< T >::operator= ( shared_ptr< T > const &  r)
inline
template<class T>
void madness::tr1::shptr::shared_ptr< T >::reset ( )
inline
template<class T>
template<class Y >
void madness::tr1::shptr::shared_ptr< T >::reset ( Y *  p)
inline
template<class T>
template<class Y , class D >
void madness::tr1::shptr::shared_ptr< T >::reset ( Y *  p,
d 
)
inline
template<class T>
template<class Y >
void madness::tr1::shptr::shared_ptr< T >::reset ( shared_ptr< Y > const &  r,
T *  p 
)
inline
template<class T>
void madness::tr1::shptr::shared_ptr< T >::swap ( shared_ptr< T > &  other)
inline
template<class T>
bool madness::tr1::shptr::shared_ptr< T >::unique ( ) const
inline
template<class T>
long madness::tr1::shptr::shared_ptr< T >::use_count ( ) const
inline

Friends And Related Function Documentation

template<class T>
template<class Y >
friend class shared_ptr
friend
template<class T>
template<class Y >
friend class weak_ptr
friend

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