cartobase  5.0.5
carto::ref< T > Class Template Reference

A ref is a const_ref which can reference non constant objects. More...

#include <cartobase/smart/rcptr.h>

Inheritance diagram for carto::ref< T >:
Collaboration diagram for carto::ref< T >:

Public Types

typedef T referenced_type
 
- Public Types inherited from carto::const_ref< T >
typedef T referenced_type
 

Public Member Functions

 ref ()
 
 ref (T *pObject)
 
 ref (T *pObject, bool externalowner)
 
template<class U >
 ref (std::auto_ptr< U > r)
 
 ref (const ref< T > &other)
 
template<class R >
 ref (const ref< R > &other)
 
 ~ref ()
 
T * release ()
 
ref< T > & operator= (const ref< T > &other)
 
T * operator-> () const
 
T & operator* () const
 
T * pointer () const
 
- Public Member Functions inherited from carto::const_ref< T >
 const_ref ()
 
 const_ref (const T *pObject)
 
 const_ref (const T *pObject, bool externalowner)
 
template<class U >
 const_ref (std::auto_ptr< U > r)
 
 const_ref (const ref< T > &other)
 
 const_ref (const const_ref< T > &other)
 
template<class R >
 const_ref (const ref< R > &o)
 
template<class R >
 const_ref (const const_ref< R > &other)
 
 ~const_ref ()
 
const_ref< T > & operator= (const ref< T > &other)
 
const_ref< T > & operator= (const const_ref< T > &other)
 
bool isNull () const
 
bool operator== (const ref< T > &other) const
 
bool operator== (const T *pointer) const
 
bool operator== (const const_ref< T > &other) const
 
bool operator!= (const ref< T > &other) const
 
bool operator!= (const const_ref< T > &other) const
 
bool operator!= (const T *pointer) const
 
const T * operator-> () const
 
const T & operator* () const
 
const T * pointer () const
 
int refCount () const
 
- Public Member Functions inherited from carto::RefData< T >
int count () const
 

Friends

template<class R >
class const_ref
 

Detailed Description

template<class T>
class carto::ref< T >

A ref is a const_ref which can reference non constant objects.

Definition at line 79 of file rcptr.h.

Member Typedef Documentation

◆ referenced_type

template<class T>
typedef T carto::ref< T >::referenced_type

Definition at line 472 of file rcptr.h.

Constructor & Destructor Documentation

◆ ref() [1/6]

template<class T>
carto::ref< T >::ref ( )
inline

Definition at line 474 of file rcptr.h.

◆ ref() [2/6]

template<class T>
carto::ref< T >::ref ( T *  pObject)
inlineexplicit

Definition at line 480 of file rcptr.h.

◆ ref() [3/6]

template<class T>
carto::ref< T >::ref ( T *  pObject,
bool  externalowner 
)
inlineexplicit

Definition at line 481 of file rcptr.h.

◆ ref() [4/6]

template<class T>
template<class U >
carto::ref< T >::ref ( std::auto_ptr< U >  r)
inline

Definition at line 489 of file rcptr.h.

◆ ref() [5/6]

template<class T>
carto::ref< T >::ref ( const ref< T > &  other)
inline

Definition at line 492 of file rcptr.h.

◆ ref() [6/6]

template<class T>
template<class R >
carto::ref< T >::ref ( const ref< R > &  other)
inline

Definition at line 495 of file rcptr.h.

◆ ~ref()

template<class T>
carto::ref< T >::~ref ( )
inline

Definition at line 497 of file rcptr.h.

Member Function Documentation

◆ operator*()

template<class T>
T& carto::ref< T >::operator* ( ) const
inline

Definition at line 512 of file rcptr.h.

◆ operator->()

template<class T>
T* carto::ref< T >::operator-> ( ) const
inline

Definition at line 508 of file rcptr.h.

◆ operator=()

template<class T>
ref<T>& carto::ref< T >::operator= ( const ref< T > &  other)
inline

Definition at line 503 of file rcptr.h.

Referenced by carto::weak_shared_ptr< T >::operator=().

◆ pointer()

template<class T>
T* carto::ref< T >::pointer ( ) const
inline

Definition at line 516 of file rcptr.h.

◆ release()

template<class T>
T* carto::ref< T >::release ( )
inline

Definition at line 499 of file rcptr.h.

Referenced by carto::weak_shared_ptr< T >::release().

Friends And Related Function Documentation

◆ const_ref

template<class T>
template<class R >
friend class const_ref
friend

Definition at line 468 of file rcptr.h.


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