TR1 Tupleпредоставляет стандартные булевы реляционные операторы.
Notation
T1 ...
TN
, U1
... UN
Типы фиолетовых элементов
P1 ...
PN
Типы параметров
Ti
, Ui
Тип<i
>элемента кортежа
Pi
Тип<i
>-го параметра
template<typename T1, typename T2, ..., typename TN,
typename U1, typename U2, ..., typename UN>
bool operator==(
const tuple<T1, T2, ..., TN>& lhs,
const tuple<U1, U2, ..., UN>& rhs);
Требования: Для всех<i
>,<1<=
i<
N
>,<get
><i>lhs]==<get
><i>rhs
является действительным выражением, возвращающим тип, который можно конвертировать в<bool
>.
Семантика: Возвращается<true
>тогда и только тогда, когда<get
><i>lhs]==<get
><i>rhs
для всех<i
>. Для любых 2-нулевых кортежей<e
>и<f
>,<e
==f
>возвращается<true
>.
template<typename T1, typename T2, ..., typename TN,
typename U1, typename U2, ..., typename UN>
bool operator<(
const tuple<T1, T2, ..., TN>& lhs,
const tuple<U1, U2, ..., UN>& rhs);
Требования: Для всех<i
>,<1<=
i<
N
>,<get
><i>lhs]<<get
><i>rhs
является действительным выражением, возвращающим тип, который можно конвертировать в<bool
>.
Семантика: Возвращает лексикографическое сравнение<lhs
>и<rhs
>.
template<typename T1, typename T2, ..., typename TN,
typename U1, typename U2, ..., typename UN>
bool operator!=(
const tuple<T1, T2, ..., TN>& lhs,
const tuple<U1, U2, ..., UN>& rhs);
Требования: Для всех<i
>,<1<=
i<
N
>,<get
><i>lhs]==<get
><i>rhs
является действительным выражением, возвращающим тип, который можно конвертировать в<bool
>.
Семантика: Возвращение<!(lhs==rhs)
>.
template<typename T1, typename T2, ..., typename TN,
typename U1, typename U2, ..., typename UN>
bool operator<=(
const tuple<T1, T2, ..., TN>& lhs,
const tuple<U1, U2, ..., UN>& rhs);
Требования: Для всех<i
>,<1<=
i<
N
>,<get
><i>rhs]<<get
><i>lhs
является действительным выражением, возвращающим тип, который можно конвертировать в<bool
>.
Семантика: Возвращение<!(rhs<lhs)
>
template<typename T1, typename T2, ..., typename TN,
typename U1, typename U2, ..., typename UN>
bool operator>(
const tuple<T1, T2, ..., TN>& lhs,
const tuple<U1, U2, ..., UN>& rhs);
Требования: Для всех<i
>,<1<=
i<
N
>,<get
><i>rhs]<<get
><i>lhs
является действительным выражением, возвращающим тип, который можно конвертировать в<bool
>.
Семантика: Возвращение<rhs
<lhs
>.
template<typename T1, typename T2, ..., typename TN,
typename U1, typename U2, ..., typename UN>
bool operator>=(
const tuple<T1, T2, ..., TN>& lhs,
const tuple<U1, U2, ..., UN>& rhs);
Требования: Для всех<i
>,<1<=
i<
N
>,<get
><i>lhs]<<get
><i>rhs
является действительным выражением, возвращающим тип, который можно конвертировать в<bool
>.
Семантика: Возвращение<!(lhs<rhs)
>.