HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
UT_COWReadHandle< Data > Class Template Reference

#include <UT_COW.h>

Public Member Functions

 UT_COWReadHandle ()
 
 ~UT_COWReadHandle ()
 
 UT_COWReadHandle (const UT_COWReadHandle< Data > &src)
 
 UT_COWReadHandle (const UT_COWHandle< Data > &src)
 
const UT_COWReadHandle< Data > & operator= (const UT_COWReadHandle< Data > &src)
 
const UT_COWReadHandle< Data > & operator= (const UT_COWHandle< Data > &src)
 
void resetHandle ()
 Removes references, making this a null pointer. More...
 
bool isNull () const
 Test if this is a NULL pointer. More...
 
const Data & operator* () const
 
const Data * operator-> () const
 
const Data * get () const
 
int getRefCount () const
 

Detailed Description

template<typename Data>
class UT_COWReadHandle< Data >

This is a copy-on-write shared pointer to data. If you create a writehandle, it will uniquify the underlying data. Do not pass references to handles or pointers to them around. This can cause you to invalidate the tracking of copies. In any case, passing by value is fast.

Read Handles are copies of the original handle that have their internal data exposed. You are not allowed to edit them, so many read handles may be sharing the same underlying data.

Definition at line 32 of file UT_COW.h.

Constructor & Destructor Documentation

template<typename Data>
UT_COWReadHandle< Data >::UT_COWReadHandle ( )
inline

Definition at line 155 of file UT_COW.h.

template<typename Data>
UT_COWReadHandle< Data >::~UT_COWReadHandle ( )
inline

Definition at line 160 of file UT_COW.h.

template<typename Data>
UT_COWReadHandle< Data >::UT_COWReadHandle ( const UT_COWReadHandle< Data > &  src)
inline

Definition at line 165 of file UT_COW.h.

template<typename Data>
UT_COWReadHandle< Data >::UT_COWReadHandle ( const UT_COWHandle< Data > &  src)
inline

Definition at line 170 of file UT_COW.h.

Member Function Documentation

template<typename Data>
const Data* UT_COWReadHandle< Data >::get ( ) const
inline

Definition at line 212 of file UT_COW.h.

template<typename Data>
int UT_COWReadHandle< Data >::getRefCount ( ) const
inline

Definition at line 217 of file UT_COW.h.

template<typename Data>
bool UT_COWReadHandle< Data >::isNull ( ) const
inline

Test if this is a NULL pointer.

Definition at line 198 of file UT_COW.h.

template<typename Data>
const Data& UT_COWReadHandle< Data >::operator* ( void  ) const
inline

Definition at line 203 of file UT_COW.h.

template<typename Data>
const Data* UT_COWReadHandle< Data >::operator-> ( void  ) const
inline

Definition at line 208 of file UT_COW.h.

template<typename Data>
const UT_COWReadHandle<Data>& UT_COWReadHandle< Data >::operator= ( const UT_COWReadHandle< Data > &  src)
inline

Definition at line 175 of file UT_COW.h.

template<typename Data>
const UT_COWReadHandle<Data>& UT_COWReadHandle< Data >::operator= ( const UT_COWHandle< Data > &  src)
inline

Definition at line 181 of file UT_COW.h.

template<typename Data>
void UT_COWReadHandle< Data >::resetHandle ( )
inline

Removes references, making this a null pointer.

Definition at line 192 of file UT_COW.h.


The documentation for this class was generated from the following file: