HDK
|
#include <DEP_ContextOptionsFwd.h>
Public Member Functions | |
UT_COWWriteHandle () | |
~UT_COWWriteHandle () | |
UT_COWWriteHandle (const UT_COWWriteHandle< Data > &src) | |
UT_COWWriteHandle (UT_COWHandle< Data > *src) | |
const UT_COWWriteHandle< Data > & | operator= (const UT_COWWriteHandle< Data > &src) |
const UT_COWWriteHandle< Data > & | operator= (UT_COWHandle< Data > *src) |
void | resetHandle () |
Turns this into a null handle to drop references. More... | |
bool | isNull () const |
Test if this is a NULL pointer. More... | |
Data & | operator* () const |
Data * | operator-> () const |
Data * | get () const |
int | getRefCount () const |
A write handle can be thought of as a pointer to the actual data. It allows you to modify the underlying data. To do this, it will unique the plain-handle's data so no outstanding readlocks will be affected by the writes.
Building read handles while a write handle is active is valid so long as no dereference occurs during the lifetime of the read handle.
Definition at line 17 of file DEP_ContextOptionsFwd.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Converting from a handle into a write handle can only be done once. This prevents other threads or methods from invalidating our uniqueness property. Note we up case from a pointer to a UT_COWHandle, not from a UT_COWHandle. This avoids people accidentally using an temporary as the source and underlines that write handles are like pointers while read handles are like values.
|
inline |