49 #define QXT_DECLARE_PRIVATE(PUB) friend class PUB##Private; QxtPrivateInterface<PUB, PUB##Private> qxt_d; 50 #define QXT_DECLARE_PUBLIC(PUB) friend class PUB; 51 #define QXT_INIT_PRIVATE(PUB) qxt_d.setPublic(this); 52 #define QXT_D(PUB) PUB##Private& d = qxt_d() 54 template <
typename PUB>
87 template <
typename PUB,
typename PVT>
103 pvt->QXT_setPublic(pub);
107 return *
static_cast<PVT*
>(pvt);
111 return *
static_cast<PVT*
>(pvt);
115 return static_cast<PVT*
>(pvt);
119 return static_cast<PVT*
>(pvt);
Definition: qxtglobal.h:88
QxtPrivateInterface()
Definition: qxtglobal.h:92
PVT * operator->()
Definition: qxtglobal.h:113
void QXT_setPublic(PUB *pub)
Definition: qxtglobal.h:60
const PVT & operator()() const
Definition: qxtglobal.h:109
Definition: qxtglobal.h:55
const PUB * qxt_ptr() const
Definition: qxtglobal.h:78
PUB * qxt_ptr()
Definition: qxtglobal.h:74
const PUB & qxt_p() const
Definition: qxtglobal.h:70
virtual ~QxtPrivate()
Definition: qxtglobal.h:58
void setPublic(PUB *pub)
Definition: qxtglobal.h:101
const PVT * operator->() const
Definition: qxtglobal.h:117
~QxtPrivateInterface()
Definition: qxtglobal.h:96
PUB & qxt_p()
Definition: qxtglobal.h:66
PVT & operator()()
Definition: qxtglobal.h:105