#include <c4d_thread.h>
Much the same as AutoLocker but allows differentiation of read/write access.
Public Member Functions | |
| AutoRWLocker () | |
| AutoRWLocker (AutoRWLock &lock, Bool write_lock=true) | |
| ~AutoRWLocker () | |
| void | DoLock (AutoRWLock &lock, Bool write_lock=true) |
| void | Unlock (void) |
Private Member Functions | |
| AutoRWLocker & | operator= (const AutoRWLocker &d) |
| AutoRWLocker (AutoRWLocker &lock) | |
Private Attributes | |
| maxon::RWSpinlock * | l |
| volatile UInt32 * | ct |
| volatile Bool | is_write |
|
private |
| AutoRWLocker | ( | ) |
Default constructor.
|
explicit |
Locks the passed AutoRWLock.
| [in] | lock | The AutoRWLock to lock. |
| [in] | write_lock | true for write access, false for read access only. |
| ~AutoRWLocker | ( | ) |
Destructor.
|
private |
| void DoLock | ( | AutoRWLock & | lock, |
| Bool | write_lock = true |
||
| ) |
Locks the passed AutoRWLock.
| [in] | lock | The AutoRWLock to lock. |
| [in] | write_lock | true for write access, false for read access only. |
| void Unlock | ( | void | ) |
Unlocks the locked AutoRWLock.
|
private |
|
private |
|
private |