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=().