| cartobase
    5.1.2
    | 
Mutex-protected rc_ptr. More...
#include <cartobase/smart/mutexrcptr.h>
| Public Member Functions | |
| MutexRcPtr () | |
| MutexRcPtr (T *ptr) | |
| MutexRcPtr (MutexRcPtr< T > &ptr) | |
| ~MutexRcPtr () | |
| void | reset (T *p=0) | 
| T * | get () | 
| const T * | get () const | 
| T * | release () | 
| MutexRcPtr< T > & | operator= (MutexRcPtr< T > &other) | 
| T * | operator-> () | 
| const T * | operator-> () const | 
| T & | operator* () | 
| const T & | operator* () const | 
| bool | operator< (const MutexRcPtr< T > &other) const | 
| bool | operator== (const MutexRcPtr< T > &other) const | 
| bool | operator!= (const MutexRcPtr< T > &other) const | 
| int | refCount () const | 
| rc_ptr< T > | rcptr () | 
| not thread-safe, almost private, for low-level operation only  More... | |
| MutexedObject::Mutex * | mutex () | 
| void | lock () | 
| void | unlock () | 
Mutex-protected rc_ptr.
This class is a "temporary" solution to have thread-safe rc_ptr. In the future version, the normal rc_ptr class should be thread-safe using atomic operations.
Here we are using a mutex to access the pointer and ref-counter. The API is willingly not related to the rc_ptr API (no inheritance)
Definition at line 83 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 150 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 156 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 168 of file mutexrcptr.h.
References carto::MutexRcPtr< T >::lock(), and carto::MutexRcPtr< T >::unlock().
| 
 | inline | 
Definition at line 177 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 213 of file mutexrcptr.h.
Referenced by carto::MutexRcPtr< T >::operator!=(), carto::MutexRcPtr< T >::operator<(), and carto::MutexRcPtr< T >::operator==().
| 
 | inline | 
Definition at line 224 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 332 of file mutexrcptr.h.
References carto::Mutex::lock().
Referenced by carto::MutexRcPtr< T >::MutexRcPtr(), and carto::MutexRcPtr< T >::operator=().
| 
 | inline | 
Definition at line 324 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 300 of file mutexrcptr.h.
References carto::MutexRcPtr< T >::get().
| 
 | inline | 
Definition at line 272 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 279 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 258 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 265 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 286 of file mutexrcptr.h.
References carto::MutexRcPtr< T >::get().
| 
 | inline | 
Definition at line 246 of file mutexrcptr.h.
References carto::MutexRcPtr< T >::lock(), and carto::MutexRcPtr< T >::unlock().
| 
 | inline | 
Definition at line 293 of file mutexrcptr.h.
References carto::MutexRcPtr< T >::get().
| 
 | inline | 
not thread-safe, almost private, for low-level operation only
Definition at line 317 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 307 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 235 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 184 of file mutexrcptr.h.
| 
 | inline | 
Definition at line 341 of file mutexrcptr.h.
References carto::Mutex::unlock().
Referenced by carto::MutexRcPtr< T >::MutexRcPtr(), and carto::MutexRcPtr< T >::operator=().