SharedData.h File Reference

Include dependency graph for SharedData.h:

Go to the source code of this file.

Namespaces

namespace  Utils
namespace  Utils::Memory

Classes

class  Utils::Memory::SharedData
 Implements implicit sharing of polymorphic data types. More...
class  Utils::Memory::SharedDataPointer
 Pointer to implicitly shared data. More...

Defines

#define Q_SHARED_DATA_COPY(Class)   Class * copy() const { return new Class (*this); }
#define Q_DECLARE_SHARED_DATA(Class)
#define Q_SD(Class)   Class * const d = d_func()


Define Documentation

#define Q_DECLARE_SHARED_DATA Class   ) 
 

Value:

inline Class*       d_func()        \
    { return static_cast <Class *> (d_ptr.data()); } \
    inline const Class* d_func() const  \
    { return static_cast <const Class *> (d_ptr.data()); }

Definition at line 167 of file SharedData.h.

#define Q_SD Class   )     Class * const d = d_func()
 

Definition at line 173 of file SharedData.h.

#define Q_SHARED_DATA_COPY Class   )     Class * copy() const { return new Class (*this); }
 

Definition at line 164 of file SharedData.h.