cartobase
5.0.5
|
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 () |
T * | release () |
MutexRcPtr< T > & | operator= (MutexRcPtr< T > &other) |
T * | operator-> () |
T & | operator* () |
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 147 of file mutexrcptr.h.
|
inline |
Definition at line 153 of file mutexrcptr.h.
|
inline |
Definition at line 165 of file mutexrcptr.h.
References carto::MutexRcPtr< T >::lock(), and carto::MutexRcPtr< T >::unlock().
|
inline |
Definition at line 174 of file mutexrcptr.h.
|
inline |
Definition at line 210 of file mutexrcptr.h.
Referenced by carto::MutexRcPtr< T >::operator!=(), carto::MutexRcPtr< T >::operator<(), and carto::MutexRcPtr< T >::operator==().
|
inline |
Definition at line 304 of file mutexrcptr.h.
References carto::Mutex::lock(), and carto::MutexedObject::mutex().
Referenced by carto::MutexRcPtr< T >::MutexRcPtr(), and carto::MutexRcPtr< T >::operator=().
|
inline |
Definition at line 296 of file mutexrcptr.h.
|
inline |
Definition at line 272 of file mutexrcptr.h.
References carto::MutexRcPtr< T >::get().
|
inline |
Definition at line 251 of file mutexrcptr.h.
|
inline |
Definition at line 244 of file mutexrcptr.h.
|
inline |
Definition at line 258 of file mutexrcptr.h.
References carto::MutexRcPtr< T >::get().
|
inline |
Definition at line 232 of file mutexrcptr.h.
References carto::MutexRcPtr< T >::lock(), and carto::MutexRcPtr< T >::unlock().
|
inline |
Definition at line 265 of file mutexrcptr.h.
References carto::MutexRcPtr< T >::get().
|
inline |
not thread-safe, almost private, for low-level operation only
Definition at line 289 of file mutexrcptr.h.
|
inline |
Definition at line 279 of file mutexrcptr.h.
|
inline |
Definition at line 221 of file mutexrcptr.h.
|
inline |
Definition at line 181 of file mutexrcptr.h.
|
inline |
Definition at line 313 of file mutexrcptr.h.
References carto::MutexedObject::mutex(), and carto::Mutex::unlock().
Referenced by carto::MutexRcPtr< T >::MutexRcPtr(), and carto::MutexRcPtr< T >::operator=().