|
Cpp Utilities 1.2.3
|
Proxy class for operator* in SafeSharedPtr, behave like underlying object, and provide RAII read-write lock for thread safety. More...
#include <SafeSharedPtr.hpp>
Public Types | |
| using | reference = T & |
| Reference type of element. More... | |
| using | const_reference = const T & |
| Const eference type of element. More... | |
Public Member Functions | |
| RefHelper (const SafeSharedPtr &p) | |
| Constructor a constant RefHelper to gain access to underlying object of SafeSharedPtr. More... | |
| RefHelper (RefHelper &&other) noexcept | |
| Move constructor, transport ownership to another RefHelper, keep existing lock state. More... | |
| ~RefHelper () | |
| Destructor, release Lock if exists. More... | |
| RefHelper & | operator= (RefHelper &&other) |
| Move assigment, transport ownership to another RefHelper, keep existing lock state. More... | |
| operator reference () | |
Operator overload to act as T&. More... | |
| operator const_reference () const | |
Operator overload to act as const T&. More... | |
| template<typename X > | |
| RefHelper & | operator= (const X &other) |
| Assign operator to assign from another value. More... | |
Proxy class for operator* in SafeSharedPtr, behave like underlying object, and provide RAII read-write lock for thread safety.
| Lock | Lock type used for protect the object. |
std::move with move constructor and move assignment to transport it's ownership, or simply use it like type T* or T&.*pPoint.x cannot compile, use pPoint->x instead. Sorry for that. | using Memory::SafeSharedPtr< T, mutex_t, read_lock_t, write_lock_t >::RefHelper< Lock >::reference = T& |
Reference type of element.
| using Memory::SafeSharedPtr< T, mutex_t, read_lock_t, write_lock_t >::RefHelper< Lock >::const_reference = const T& |
Const eference type of element.
|
inlineexplicit |
Constructor a constant RefHelper to gain access to underlying object of SafeSharedPtr.
Will construct Lock object to guard the pointer.
| p | SafeSharedPtr to access from. |
|
inlinenoexcept |
|
inline |
Destructor, release Lock if exists.
|
inline |
|
inline |
Operator overload to act as T&.
T&.
|
inline |
Operator overload to act as const T&.
const T&.
|
inline |
Assign operator to assign from another value.
| X | Type of input, X& must be implicitly convertible to T&. |
| other | Input value to be assigned from. |
Used for situations like: