|
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 |