summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qglobal.h
diff options
context:
space:
mode:
authorHarald Fernengel <harald@trolltech.com>2009-08-06 10:04:36 (GMT)
committerHarald Fernengel <harald@trolltech.com>2009-08-06 10:04:36 (GMT)
commite5800dd8fa0c61f3df1ddea4e6a55b4b30eb84a7 (patch)
treec01e05d0ea5a42fa1ab5f2f5e686806bcd8e5280 /src/corelib/global/qglobal.h
parent7588eaee83776b510eabdb9206e3cabcb3ee9dc2 (diff)
downloadQt-e5800dd8fa0c61f3df1ddea4e6a55b4b30eb84a7.zip
Qt-e5800dd8fa0c61f3df1ddea4e6a55b4b30eb84a7.tar.gz
Qt-e5800dd8fa0c61f3df1ddea4e6a55b4b30eb84a7.tar.bz2
Rename Q_DECLARE_SCOPED_PRIVATE back to Q_DECLARE_PRIVATE
Rationale: We're using template magic now to get the private pointer in qglobal.h, so no need to have two macros. Also keeps backward compatibility with outside (KDE) code.
Diffstat (limited to 'src/corelib/global/qglobal.h')
-rw-r--r--src/corelib/global/qglobal.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 86f0757..9b93306 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -2290,14 +2290,12 @@ inline const QForeachContainer<T> *qForeachContainer(const QForeachContainerBase
#endif
#endif
-#define Q_DECLARE_PRIVATE(Class) \
- inline Class##Private* d_func() { return reinterpret_cast<Class##Private *>(d_ptr); } \
- inline const Class##Private* d_func() const { return reinterpret_cast<const Class##Private *>(d_ptr); } \
- friend class Class##Private;
+template <typename T> static inline T *qGetPtrHelper(T *ptr) { return ptr; }
+template <typename Wrapper> static inline typename Wrapper::pointer qGetPtrHelper(const Wrapper &p) { return p.data(); }
-#define Q_DECLARE_SCOPED_PRIVATE(Class) \
- inline Class##Private* d_func() { return reinterpret_cast<Class##Private *>(d_ptr.data()); } \
- inline const Class##Private* d_func() const { return reinterpret_cast<const Class##Private *>(d_ptr.data()); } \
+#define Q_DECLARE_PRIVATE(Class) \
+ inline Class##Private* d_func() { return reinterpret_cast<Class##Private *>(qGetPtrHelper(d_ptr)); } \
+ inline const Class##Private* d_func() const { return reinterpret_cast<const Class##Private *>(qGetPtrHelper(d_ptr)); } \
friend class Class##Private;
#define Q_DECLARE_PRIVATE_D(Dptr, Class) \