Класс QPair
Класс QPair — шаблонный класс, хранящий пару элементов. Подробнее...
| Заголовок: | #include <QPair> |
| qmake: | QT += core |
Типы публичного доступа
| typedef | first_type |
| typedef | second_type |
Функции публичного доступа
| QPair() | |
| QPair(const T1 &value1, const T2 &value2) | |
| QPair(const QPair<TT1, TT2> &p) | |
| QPair(QPair<TT1, TT2> &&p) | |
| void | swap(QPair &other) |
| QPair & | operator=(const QPair<TT1, TT2> &p) |
| QPair & | operator=(QPair<TT1, TT2> &&p) |
Публичные переменные
| T1 | first |
| T2 | second |
Связанные нечлены
| QPair<T1, T2> | qMakePair(const T1 &value1, const T2 &value2) |
| void | swap(QPair<T1, T2> &lhs, QPair<T1, T2> &rhs) |
| bool | operator!=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) |
| bool | operator<(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) |
| QDataStream & | operator<<(QDataStream &out, const QPair<T1, T2> &pair) |
| bool | operator<=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) |
| bool | operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) |
| bool | operator>(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) |
| bool | operator>=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2) |
| QDataStream & | operator>>(QDataStream &in, QPair<T1, T2> &pair) |
Подробное описание
Класс QPair — шаблонный класс, хранящий пару элементов.
QPair<T1, T2> может быть использован в вашем приложении, если тип STL pair недоступен. Он хранит одно значение типа T1 и одно значение типа T2. Его можно использовать в качестве значения возврата для функции, которая должна вернуть два значения, или в качестве типа значения контейнера обобщённого контейнера.
Вот пример QPair, хранящий одну строку QString и одно значение double:
QPair<QString, double> pair;
Компоненты доступны как публичные данные-члены, называемые first и second. Например:
pair.first = "pi"; pair.second = 3.14159265358979323846;
Шаблонные типы данных QPair (T1 и T2) должны быть типами данных, допускающими присваивание. Например, нельзя хранить QWidget в качестве значения; вместо этого храните указатель QWidget*. Некоторые функции имеют дополнительные требования; эти требования документированы для каждой функции.
См. также Классы контейнеров.
Документация типов членов
typedef QPair::first_type
Тип первого элемента в паре (T1).
См. также first.
typedef QPair::second_type
Тип второго элемента в паре (T2).
См. также second.
Документация функций членов
QPair::QPair()
Создаёт пустую пару. Элементы first и second инициализируются значениями по умолчанию.
QPair::QPair(const T1 &value1, const T2 &value2)
Создаёт пару и инициализирует элемент first значением value1, а элемент second значением value2.
См. также qMakePair().
QPair::QPair(const QPair<TT1, TT2> &p)
Создаёт пару из другой пары p типов TT1 и TT2. Этот конструктор завершится неудачей, если first не может быть инициализирован из p.first или если second не может быть инициализирован из p.second.
Эта функция была добавлена в Qt 5.2.
См. также qMakePair().
QPair::QPair(QPair<TT1, TT2> &&p)
Перемещающий конструктор QPair, делающий его указывающим на тот же объект, на который указывал p.
Эта функция была добавлена в Qt 5.2.
void QPair::swap(QPair &other)
Меняет местами эту пару с other.
Эквивалентно
qSwap(this->first, other.first); qSwap(this->second, other.second);
Перегрузки swap находятся в пространстве имен std, а также через поиск по аргументу (ADL) в пространстве имен T.
Эта функция была добавлена в Qt 5.5.
QPair &QPair::operator=(const QPair<TT1, TT2> &p)
Копирует пару p в эту пару.
Эта функция была добавлена в Qt 5.2.
См. также qMakePair().
QPair &QPair::operator=(QPair<TT1, TT2> &&p)
Перемещающая присваивание пары p в экземпляр этой пары.
Эта функция была добавлена в Qt 5.2.
Документация переменных членов
T1 QPair::first
Первый элемент в паре.
T2 QPair::second
Второй элемент в паре.
Связанные не члены
QPair<T1, T2> qMakePair(const T1 &value1, const T2 &value2)
Возвращает QPair<T1, T2>, содержащий value1 и value2. Пример:
QList<QPair<int, double> > list; list.append(qMakePair(66, 3.14159));
Это эквивалентно QPair<T1, T2>(value1, value2), но обычно требует меньше набора текста.
void swap(QPair<T1, T2> &lhs, QPair<T1, T2> &rhs)
Это перегруженная функция.
Меняет местами lhs и rhs.
Эта функция была представлена в Qt 5.5.
bool operator!=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
Возвращает true если p1 не равно p2; в противном случае возвращает false. Два объекта сравниваются как неравные, если их first члены не равны или если их second члены не равны.
Для этой функции требуется, чтобы типы T1 и T2 имели реализацию operator==().
bool operator<(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
Возвращает true если p1 меньше p2; в противном случае возвращает false. Сравнение выполняется по first членам p1 и p2; если они равны, сравниваются second члены, чтобы разрешить ничью.
Для этой функции требуется, чтобы типы T1 и T2 имели реализацию operator<().
QDataStream &operator<<(QDataStream &out, const QPair<T1, T2> &pair)
Записывает пару pair в поток out.
Для этой функции требуется, чтобы типы T1 и T2 реализовывали operator<<().
См. также Сериализация типов данных Qt.
bool operator<=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
Возвращает true если p1 меньше или равно p2; в противном случае возвращает false. Сравнение выполняется по first членам p1 и p2; если они равны, сравниваются second члены, чтобы разрешить ничью.
Для этой функции требуется, чтобы типы T1 и T2 имели реализацию operator<().
bool operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
Возвращает true если p1 равно p2; в противном случае возвращает false. Два объекта сравниваются как равные, если их first члены сравниваются как равные и если их second члены сравниваются как равные.
Для этой функции требуется, чтобы типы T1 и T2 имели реализацию operator==().
bool operator>(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
Возвращает true если p1 больше p2; в противном случае возвращает false. Сравнение выполняется по first членам p1 и p2; если они равны, сравниваются second члены, чтобы разрешить ничью.
Для этой функции требуется, чтобы типы T1 и T2 имели реализацию operator<().
bool operator>=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
Возвращает true если p1 больше или равно p2; в противном случае возвращает false. Сравнение выполняется по first членам p1 и p2; если они равны, сравниваются second члены, чтобы разрешить ничью.
Для этой функции требуется, чтобы типы T1 и T2 имели реализацию operator<().
QDataStream &operator>>(QDataStream &in, QPair<T1, T2> &pair)
Читает пару из потока in в pair.
Для этой функции требуется, чтобы типы T1 и T2 реализовывали operator>>().
См. также Сериализация типов данных Qt.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qpair.html