summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/tools/qsharedpointer.cpp27
-rw-r--r--src/corelib/tools/qsharedpointer.h4
2 files changed, 4 insertions, 27 deletions
diff --git a/src/corelib/tools/qsharedpointer.cpp b/src/corelib/tools/qsharedpointer.cpp
index 6ab84cf3d8..95b584e914 100644
--- a/src/corelib/tools/qsharedpointer.cpp
+++ b/src/corelib/tools/qsharedpointer.cpp
@@ -649,19 +649,7 @@
*/
/*!
- \fn template <class T> QSharedPointer<T> QSharedPointer<T>::create()
- \since 5.1
-
- Creates a QSharedPointer object and allocates a new item of type \tt T. The
- QSharedPointer internals and the object are allocated in one single memory
- allocation, which could help reduce memory fragmentation in a long-running
- application.
-
- This function calls the default constructor for type \tt T.
-*/
-
-/*!
- \fn template <class T> QSharedPointer<T> QSharedPointer<T>::create(...)
+ \fn template <class T> template <typename... Args> QSharedPointer<T> QSharedPointer<T>::create(Args &&... args)
\overload
\since 5.1
@@ -671,18 +659,7 @@
application.
This function will attempt to call a constructor for type \tt T that can
- accept all the arguments passed. Arguments will be perfectly-forwarded.
-
- \note This function is only fully available with a C++11 compiler that
- supports perfect forwarding of an arbitrary number of arguments.
-
- If the compiler does not support the necessary C++11 features,
- then a restricted version is available since Qt 5.4: you may pass
- one (but just one) argument, and it will always be passed by const
- reference.
-
- If you target Qt before version 5.4, you must use the overload
- that calls the default constructor.
+ accept all the arguments passed (\a args). Arguments will be perfectly-forwarded.
*/
/*!
diff --git a/src/corelib/tools/qsharedpointer.h b/src/corelib/tools/qsharedpointer.h
index 98b38b97d3..a2c5f990fc 100644
--- a/src/corelib/tools/qsharedpointer.h
+++ b/src/corelib/tools/qsharedpointer.h
@@ -97,8 +97,8 @@ public:
template <class X> QSharedPointer<X> constCast() const;
template <class X> QSharedPointer<X> objectCast() const;
- static inline QSharedPointer<T> create();
- static inline QSharedPointer<T> create(...);
+ template <typename... Args>
+ static inline QSharedPointer<T> create(Args &&... args);
};
template <class T>