24 #define TTK_CREATE_PRIVATE(Class) (*new Class##Private)
26 #define TTK_DECLARE_PRIVATE(Class) \
27 friend class Class##Private; \
28 TTKPrivateInterface<Class, Class##Private> _d;
30 #define TTK_DECLARE_PUBLIC(Class) \
33 #define TTK_INIT_PRIVATE(Class) \
34 _d.setPrivate(new Class##Private); \
37 #define TTK_INIT_PRIVATE_OBJECT(PVT) \
38 _d.setPrivate(&PVT); \
41 #define TTK_D(Class) Class##Private *const d = TTKStaticCast(Class##Private*, _d())
42 #define TTK_Q(Class) Class *const q = TTKStaticCast(Class*, _q())
47 template <
typename PUB>
91 template <
typename PUB,
typename PVT>
140 m_dptr->setPublic(pub);
156 #endif // TTKPRIVATE_H
#define TTKStaticCast(x, y)
#define TTK_MODULE_EXPORT
TTKPrivateInterface(PVT *pvt) noexcept
~TTKPrivateInterface() noexcept
void setPublic(PUB *pub) noexcept
TTKPrivate< PUB > * m_dptr
void setPrivate(PVT *pvt) noexcept
TTKPrivateInterface(PVT *pvt, PUB *pub) noexcept
void setPublic(PUB *pub) noexcept
PUB * _q() const noexcept
The class of the ttk private interface.
PVT * operator()() const noexcept
#define TTK_DISABLE_COPY(Class)
The class of the ttk private base.