diff options
author | Harald Fernengel <harald@trolltech.com> | 2009-08-06 10:04:36 (GMT) |
---|---|---|
committer | Harald Fernengel <harald@trolltech.com> | 2009-08-06 10:04:36 (GMT) |
commit | e5800dd8fa0c61f3df1ddea4e6a55b4b30eb84a7 (patch) | |
tree | c01e05d0ea5a42fa1ab5f2f5e686806bcd8e5280 /src/corelib/global | |
parent | 7588eaee83776b510eabdb9206e3cabcb3ee9dc2 (diff) | |
download | Qt-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')
-rw-r--r-- | src/corelib/global/qglobal.h | 12 |
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) \ |