NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | Friends | List of all members
nvbio::SharedPointer< T, CounterT > Class Template Reference

Detailed description

template< typename T, typename CounterT = CounterT_default>
class nvbio::SharedPointer< T, CounterT >

Definition at line 345 of file shared_pointer.h.

#include <shared_pointer.h>

Public Types

typedef T element_type
 
typedef internals::SharedCount
< CounterT >::Counter_Type 
Counter_Type
 

Public Methods

 SharedPointer ()
 
template<typename U >
 SharedPointer (U *p)
 
template<typename U , typename DeleterT >
 SharedPointer (U *p, DeleterT d)
 
template<typename U >
 SharedPointer (const SharedPointer< U > &other)
 
template<typename U >
 SharedPointer (const WeakPointer< U, CounterT > &other)
 
template<typename U >
 SharedPointer (const SharedPointer< U > &other, internals::static_cast_marker)
 
template<typename U >
 SharedPointer (const SharedPointer< U > &other, internals::const_cast_marker)
 
template<typename U >
 SharedPointer (const SharedPointer< U > &other, internals::dynamic_cast_marker)
 
template<typename U >
SharedPointeroperator= (const SharedPointer< U > &other)
 
template<typename U >
SharedPointeroperator= (U *p)
 
void reset ()
 
template<typename U >
void reset (U *p)
 
template<typename U , typename UDeleterT >
void reset (U *p, UDeleterT d)
 
_Reference operator* () const
 
element_typeoperator-> () const
 
element_typeget () const
 
 operator BooleanType () const
 
bool unique () const
 
Counter_Type use_count () const
 
void swap (SharedPointer< element_type > &other)
 
void * _M_get_deleter (const std::type_info &ti) const
 

Friends

template<typename U , typename UCounterT >
class SharedPointer
 
template<typename U , typename UCounterT >
class WeakPointer
 
template<typename U >
bool operator== (const SharedPointer &a, const SharedPointer< U > &b)
 
template<typename U >
bool operator!= (const SharedPointer &a, const SharedPointer< U > &b)
 
template<typename U >
bool operator< (const SharedPointer &a, const SharedPointer< U > &b)
 

Member Typedef Documentation

template<typename T, typename CounterT = CounterT_default>
typedef internals::SharedCount<CounterT>::Counter_Type nvbio::SharedPointer< T, CounterT >::Counter_Type

Definition at line 350 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
typedef T nvbio::SharedPointer< T, CounterT >::element_type

Definition at line 349 of file shared_pointer.h.

Constructor & Destructor Documentation

template<typename T, typename CounterT = CounterT_default>
nvbio::SharedPointer< T, CounterT >::SharedPointer ( )
inline

Definition at line 352 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U >
nvbio::SharedPointer< T, CounterT >::SharedPointer ( U *  p)
inlineexplicit

Definition at line 358 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U , typename DeleterT >
nvbio::SharedPointer< T, CounterT >::SharedPointer ( U *  p,
DeleterT  d 
)
inlineexplicit

Definition at line 364 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U >
nvbio::SharedPointer< T, CounterT >::SharedPointer ( const SharedPointer< U > &  other)
inline

Definition at line 372 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U >
nvbio::SharedPointer< T, CounterT >::SharedPointer ( const WeakPointer< U, CounterT > &  other)
inline

Definition at line 380 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U >
nvbio::SharedPointer< T, CounterT >::SharedPointer ( const SharedPointer< U > &  other,
internals::static_cast_marker   
)
inline

Definition at line 392 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U >
nvbio::SharedPointer< T, CounterT >::SharedPointer ( const SharedPointer< U > &  other,
internals::const_cast_marker   
)
inline

Definition at line 398 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U >
nvbio::SharedPointer< T, CounterT >::SharedPointer ( const SharedPointer< U > &  other,
internals::dynamic_cast_marker   
)
inline

Definition at line 404 of file shared_pointer.h.

Member Function Documentation

template<typename T, typename CounterT = CounterT_default>
void* nvbio::SharedPointer< T, CounterT >::_M_get_deleter ( const std::type_info &  ti) const
inline

Definition at line 473 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
element_type* nvbio::SharedPointer< T, CounterT >::get ( ) const
inline

Definition at line 451 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
nvbio::SharedPointer< T, CounterT >::operator BooleanType ( ) const
inline

Definition at line 457 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
_Reference nvbio::SharedPointer< T, CounterT >::operator* ( ) const
inline

Definition at line 449 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
element_type* nvbio::SharedPointer< T, CounterT >::operator-> ( ) const
inline

Definition at line 450 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U >
SharedPointer& nvbio::SharedPointer< T, CounterT >::operator= ( const SharedPointer< U > &  other)
inline

Definition at line 414 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U >
SharedPointer& nvbio::SharedPointer< T, CounterT >::operator= ( U *  p)
inline

Definition at line 422 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
void nvbio::SharedPointer< T, CounterT >::reset ( )
inline

Definition at line 430 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U >
void nvbio::SharedPointer< T, CounterT >::reset ( U *  p)
inline

Definition at line 436 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U , typename UDeleterT >
void nvbio::SharedPointer< T, CounterT >::reset ( U *  p,
UDeleterT  d 
)
inline

Definition at line 443 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
void nvbio::SharedPointer< T, CounterT >::swap ( SharedPointer< element_type > &  other)
inline

Definition at line 466 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
bool nvbio::SharedPointer< T, CounterT >::unique ( ) const
inline

Definition at line 462 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
Counter_Type nvbio::SharedPointer< T, CounterT >::use_count ( ) const
inline

Definition at line 464 of file shared_pointer.h.

Friends And Related Function Documentation

template<typename T, typename CounterT = CounterT_default>
template<typename U >
bool operator!= ( const SharedPointer< T, CounterT > &  a,
const SharedPointer< U > &  b 
)
friend

Definition at line 497 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U >
bool operator< ( const SharedPointer< T, CounterT > &  a,
const SharedPointer< U > &  b 
)
friend

Definition at line 503 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U >
bool operator== ( const SharedPointer< T, CounterT > &  a,
const SharedPointer< U > &  b 
)
friend

Definition at line 491 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U , typename UCounterT >
friend class SharedPointer
friend

Definition at line 486 of file shared_pointer.h.

template<typename T, typename CounterT = CounterT_default>
template<typename U , typename UCounterT >
friend class WeakPointer
friend

Definition at line 488 of file shared_pointer.h.


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