summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qpair.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/tools/qpair.qdoc')
-rw-r--r--src/corelib/tools/qpair.qdoc283
1 files changed, 10 insertions, 273 deletions
diff --git a/src/corelib/tools/qpair.qdoc b/src/corelib/tools/qpair.qdoc
index 65576ef2e6..3aaee157d4 100644
--- a/src/corelib/tools/qpair.qdoc
+++ b/src/corelib/tools/qpair.qdoc
@@ -1,282 +1,19 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
- \class QPair
- \inmodule QtCore
- \reentrant
- \brief The QPair class is a template class that stores a pair of items.
-
- \ingroup tools
-
- QPair\<T1, T2\> can be used in your application if the STL \c
- pair type is not available. It stores one value of type T1 and
- one value of type T2. It can be used as a return value for a
- function that needs to return two values, or as the value type of
- a \l{Container classes}{generic container}.
-
- Here's an example of a QPair that stores one QString and one \c
- double value:
-
- \snippet code/doc_src_qpair.cpp 0
-
- The components are accessible as public data members called \l
- first and \l second. For example:
-
- \snippet code/doc_src_qpair.cpp 1
-
- Note, however, that it is almost always preferable to define a small struct
- to hold the result of a function with multiple return values. A struct
- trivially generalizes to more than two values, and allows more descriptive
- member names than \c{first} and \c{second}:
-
- \snippet code/doc_src_qpair.cpp struct
-
- The advent of C++11 automatic variable type deduction (\c{auto}) shifts the
- emphasis from the type name to the name of functions and members. Thus, QPair,
- like \c{std::pair} and \c{std::tuple}, is mostly useful in generic (template)
- code, where defining a dedicated type is not possible.
-
- QPair's template data types (T1 and T2) must be \l{assignable
- data types}. You cannot, for example, store a QWidget as a value;
- instead, store a QWidget *. A few functions have additional
- requirements; these requirements are documented on a per-function
- basis.
-
- \sa {Container Classes}
-*/
-
-/*! \typedef QPair::first_type
-
- The type of the first element in the pair (T1).
-
- \sa first
-*/
-
-/*! \typedef QPair::second_type
-
- The type of the second element in the pair (T2).
-
- \sa second
-*/
-
-/*! \variable QPair::first
-
- The first element in the pair.
-*/
-
-/*! \variable QPair::second
-
- The second element in the pair.
-*/
-
-/*! \fn template <class T1, class T2> QPair<T1, T2>::QPair()
-
- Constructs an empty pair. The \c first and \c second elements are
- initialized with \l{default-constructed value}s.
-*/
-
-/*!
- \fn template <class T1, class T2> QPair<T1, T2>::QPair(const T1 &value1, const T2 &value2)
-
- Constructs a pair and initializes the \c first element with \a
- value1 and the \c second element with \a value2.
-
- \sa qMakePair()
-*/
-
-/*!
-\fn template <class T1, class T2> void QPair<T1, T2>::swap(QPair &other)
-
- \since 5.5
- Swaps this pair with \a other.
-
- Equivalent to
- \code
- qSwap(this->first, other.first);
- qSwap(this->second, other.second);
- \endcode
-
- Swap overloads are found in namespace \c std as well as via
- argument-dependent lookup (ADL) in the namespace of \c{T} .
-*/
-
-/*!
-\fn template <class T1, class T2> void swap(QPair<T1, T2> &lhs, QPair<T1, T2> &rhs)
- \overload
- \relates QPair
- \since 5.5
-
- Swaps \a lhs with \a rhs.
-*/
-
-/*!
- \fn template <class T1, class T2> template <typename TT1, typename TT2> QPair<T1, T2>::QPair(const QPair<TT1, TT2> &p)
- \since 5.2
-
- Constructs a pair from the other pair \a p, of types TT1 and TT2. This
- constructor will fail if \c first cannot be initialized from \c p.first or
- if \c second cannot be initialized from \c p.second.
-
- \sa qMakePair()
-*/
-
-/*!
- \fn template <class T1, class T2> template <typename TT1, typename TT2> QPair<T1, T2>::QPair(QPair<TT1, TT2> &&p)
- \since 5.2
-
- Move-constructs a QPair instance, making it point to the same object that \a p was pointing to.
-*/
-
-/*!
- \fn template <class T1, class T2> template <typename TT1, typename TT2> QPair & QPair<T1, T2>::operator=(const QPair<TT1, TT2> &p)
- \since 5.2
-
- Copies pair \a p into this pair.
-
- \sa qMakePair()
-*/
-
-/*!
- \fn template <class T1, class T2> template <typename TT1, typename TT2> QPair & QPair<T1, T2>::operator=(QPair<TT1, TT2> &&p)
- \since 5.2
-
- Move-assigns pair \a p into this pair instance.
-*/
-
-/*! \fn template <class T1, class T2> bool operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
-
+ \typealias QPair
\relates QPair
-
- Returns \c true if \a p1 is equal to \a p2; otherwise returns \c false.
- Two pairs compare equal if their \c first data members compare
- equal and if their \c second data members compare equal.
-
- This function requires the T1 and T2 types to have an
- implementation of \c operator==().
-*/
-
-/*! \fn template <class T1, class T2> bool operator!=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
-
- \relates QPair
-
- Returns \c true if \a p1 is not equal to \a p2; otherwise returns
- false. Two pairs compare as not equal if their \c first data
- members are not equal or if their \c second data members are not
- equal.
-
- This function requires the T1 and T2 types to have an
- implementation of \c operator==().
-*/
-
-/*! \fn template <class T1, class T2> bool operator<(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
-
- \relates QPair
-
- Returns \c true if \a p1 is less than \a p2; otherwise returns
- false. The comparison is done on the \c first members of \a p1
- and \a p2; if they compare equal, the \c second members are
- compared to break the tie.
-
- This function requires the T1 and T2 types to have an
- implementation of \c operator<().
-*/
-
-/*! \fn template <class T1, class T2> bool operator>(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
-
- \relates QPair
-
- Returns \c true if \a p1 is greater than \a p2; otherwise returns
- false. The comparison is done on the \c first members of \a p1
- and \a p2; if they compare equal, the \c second members are
- compared to break the tie.
-
- This function requires the T1 and T2 types to have an
- implementation of \c operator<().
-*/
-
-/*! \fn template <class T1, class T2> bool operator<=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
-
- \relates QPair
-
- Returns \c true if \a p1 is less than or equal to \a p2; otherwise
- returns \c false. The comparison is done on the \c first members of
- \a p1 and \a p2; if they compare equal, the \c second members are
- compared to break the tie.
-
- This function requires the T1 and T2 types to have an
- implementation of \c operator<().
-*/
-
-/*! \fn template <class T1, class T2> bool operator>=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
-
- \relates QPair
-
- Returns \c true if \a p1 is greater than or equal to \a p2;
- otherwise returns \c false. The comparison is done on the \c first
- members of \a p1 and \a p2; if they compare equal, the \c second
- members are compared to break the tie.
-
- This function requires the T1 and T2 types to have an
- implementation of \c operator<().
+ \since 6.0
+ Typedef for std::pair\<T1, T2\>.
*/
/*!
- \fn template <class T1, class T2> QPair<T1, T2> qMakePair(const T1 &value1, const T2 &value2)
-
- \relates QPair
-
- Returns a QPair\<T1, T2\> that contains \a value1 and \a value2.
- Example:
-
- \snippet code/doc_src_qpair.cpp 2
-
- This is equivalent to QPair<T1, T2>(\a value1, \a value2), but
- usually requires less typing.
-*/
-
-/*! \fn template <class T1, class T2> QDataStream &operator>>(QDataStream &in, QPair<T1, T2> &pair)
-
- \relates QPair
-
- Reads a pair from stream \a in into \a pair.
-
- This function requires the T1 and T2 types to implement \c operator>>().
-
- \sa {Serializing Qt Data Types}
-*/
-
-/*! \fn template <class T1, class T2> QDataStream &operator<<(QDataStream &out, const QPair<T1, T2> &pair)
-
+ \fn template <class T1, class T2> QPair<T1, T2> qMakePair(T1 &&value1, T2 &&value2)
+ \deprecated
\relates QPair
- Writes the pair \a pair to stream \a out.
-
- This function requires the T1 and T2 types to implement \c operator<<().
-
- \sa {Serializing Qt Data Types}
+ qMakePair forwards its arguments to std::make_pair, and returns
+ the resulting std::pair. It is provided for backwards compatibility.
+ Use std::make_pair directly instead.
*/