Spec-Zone.ru › Qt 5.6

Класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API