summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/doc/snippets/code/doc_src_containers.cpp8
-rw-r--r--src/corelib/doc/src/containers.qdoc6
-rw-r--r--src/corelib/doc/src/includes/containers-range-constructor.qdocinc2
-rw-r--r--src/corelib/tools/qlist.cpp12
-rw-r--r--src/corelib/tools/qset.qdoc6
-rw-r--r--src/corelib/tools/qvector.qdoc8
6 files changed, 42 insertions, 0 deletions
diff --git a/src/corelib/doc/snippets/code/doc_src_containers.cpp b/src/corelib/doc/snippets/code/doc_src_containers.cpp
index 443f6b688c..84935580c9 100644
--- a/src/corelib/doc/snippets/code/doc_src_containers.cpp
+++ b/src/corelib/doc/snippets/code/doc_src_containers.cpp
@@ -312,3 +312,11 @@ int j = *i; // Undefined behavior!
but with QVector this is likely to crash.
*/
//! [24]
+
+//! [25]
+QVector<int> vector{1, 2, 3, 4, 4, 5};
+QSet<int> set(vector.begin(), vector.end());
+/*
+ Will generate a QSet containing 1, 2, 4, 5.
+*/
+//! [25]
diff --git a/src/corelib/doc/src/containers.qdoc b/src/corelib/doc/src/containers.qdoc
index 919533f651..d0bb251e81 100644
--- a/src/corelib/doc/src/containers.qdoc
+++ b/src/corelib/doc/src/containers.qdoc
@@ -66,6 +66,12 @@
Qt also offers a \l{foreach} keyword that make it very
easy to iterate over all the items stored in a container.
+ \note Since Qt 5.14, range constructors are available for most of the
+ container classes. QMultiMap is a notable exception. Their use is
+ encouraged in place of the various from/to methods. For example:
+
+ \snippet code/doc_src_containers.cpp 25
+
\section1 The Container Classes
Qt provides the following sequential containers: QList,
diff --git a/src/corelib/doc/src/includes/containers-range-constructor.qdocinc b/src/corelib/doc/src/includes/containers-range-constructor.qdocinc
new file mode 100644
index 0000000000..afb7e46b86
--- /dev/null
+++ b/src/corelib/doc/src/includes/containers-range-constructor.qdocinc
@@ -0,0 +1,2 @@
+ \note Since Qt 5.14, range constructors are available for Qt's generic
+ \l{container classes} and should be used in place of this method.
diff --git a/src/corelib/tools/qlist.cpp b/src/corelib/tools/qlist.cpp
index dfebd57e34..66770f6866 100644
--- a/src/corelib/tools/qlist.cpp
+++ b/src/corelib/tools/qlist.cpp
@@ -2014,6 +2014,8 @@ void **QListData::erase(void **xi)
\snippet code/src_corelib_tools_qlistdata.cpp 21
+ \include containers-range-constructor.qdocinc
+
\sa fromSet(), toVector(), QVector::toList()
*/
@@ -2025,6 +2027,8 @@ void **QListData::erase(void **xi)
\snippet code/src_corelib_tools_qlistdata.cpp 22
+ \include containers-range-constructor.qdocinc
+
\sa toSet(), fromVector(), QVector::fromList()
*/
@@ -2037,6 +2041,8 @@ void **QListData::erase(void **xi)
\snippet code/src_corelib_tools_qlistdata.cpp 23
+ \include containers-range-constructor.qdocinc
+
\sa fromVector(), toSet(), QSet::toList()
*/
@@ -2050,6 +2056,8 @@ void **QListData::erase(void **xi)
\snippet code/src_corelib_tools_qlistdata.cpp 24
+ \include containers-range-constructor.qdocinc
+
\sa toVector(), fromSet(), QSet::fromList()
*/
@@ -2062,6 +2070,8 @@ void **QListData::erase(void **xi)
\snippet code/src_corelib_tools_qlistdata.cpp 25
+ \include containers-range-constructor.qdocinc
+
\sa toStdList(), QVector::fromStdVector()
*/
@@ -2072,6 +2082,8 @@ void **QListData::erase(void **xi)
\snippet code/src_corelib_tools_qlistdata.cpp 26
+ \include containers-range-constructor.qdocinc
+
\sa fromStdList(), QVector::toStdVector()
*/
diff --git a/src/corelib/tools/qset.qdoc b/src/corelib/tools/qset.qdoc
index 084523ed4b..78854be0de 100644
--- a/src/corelib/tools/qset.qdoc
+++ b/src/corelib/tools/qset.qdoc
@@ -1001,6 +1001,8 @@
\snippet code/doc_src_qset.cpp 13
+ \include containers-range-constructor.qdocinc
+
\sa fromList(), QList::fromSet()
*/
@@ -1011,6 +1013,8 @@
This is the same as toList().
+ \include containers-range-constructor.qdocinc
+
\sa fromList(), QList::fromSet()
*/
@@ -1026,6 +1030,8 @@
\snippet code/doc_src_qset.cpp 14
+ \include containers-range-constructor.qdocinc
+
\sa toList(), QList::toSet()
*/
diff --git a/src/corelib/tools/qvector.qdoc b/src/corelib/tools/qvector.qdoc
index 8765b7fbd6..116d962411 100644
--- a/src/corelib/tools/qvector.qdoc
+++ b/src/corelib/tools/qvector.qdoc
@@ -1359,6 +1359,8 @@
\snippet code/src_corelib_tools_qvector.cpp 14
+ \include containers-range-constructor.qdocinc
+
\sa fromList(), QList::fromVector()
*/
@@ -1370,6 +1372,8 @@
\snippet code/src_corelib_tools_qvector.cpp 15
+ \include containers-range-constructor.qdocinc
+
\sa toList(), QList::toVector()
*/
@@ -1382,6 +1386,8 @@
\snippet code/src_corelib_tools_qvector.cpp 16
+ \include containers-range-constructor.qdocinc
+
\sa toStdVector(), QList::fromStdList()
*/
@@ -1392,6 +1398,8 @@
\snippet code/src_corelib_tools_qvector.cpp 17
+ \include containers-range-constructor.qdocinc
+
\sa fromStdVector(), QList::toStdList()
*/