<<<<<<< .working ======= >>>>>>> .merge-right.r57125
Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Relational operators <<<<<<< .working

Description
=======
Description
>>>>>>> .merge-right.r57125

The TR1 Tuple provides the standard boolean relational operators.

<<<<<<< .working
Specification
=======
Specification
>>>>>>> .merge-right.r57125

Notation

T1 ... TN, U1 ... UN

Tuple element types

P1 ... PN

Parameter types

Ti, Ui

The type of the ith element of a tuple

Pi

The type of the ith parameter

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);

Requirements: For all i, 1 <= i < N, get<i>(lhs) == get<i>(rhs) is a valid expression returning a type that is convertible to bool.

Semantics: Returns true if and only if get<i>(lhs) == get<i>(rhs) for all i. For any 2 zero length tuples e and f, e == f returns 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);

Requirements: For all i, 1 <= i < N, get<i>(lhs) < get<i>(rhs) is a valid expression returning a type that is convertible to bool.

Semantics: Returns the lexicographical comparison of between lhs and 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);

Requirements: For all i, 1 <= i < N, get<i>(lhs) == get<i>(rhs) is a valid expression returning a type that is convertible to bool.

Semantics: Returns !(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);

Requirements: For all i, 1 <= i < N, get<i>(rhs) < get<i>(lhs) is a valid expression returning a type that is convertible to bool.

Semantics: Returns !(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);

Requirements: For all i, 1 <= i < N, get<i>(rhs) < get<i>(lhs) is a valid expression returning a type that is convertible to bool.

Semantics: Returns 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);

Requirements: For all i, 1 <= i < N, get<i>(lhs) < get<i>(rhs) is a valid expression returning a type that is convertible to bool.

Semantics: Returns !(lhs < rhs).


PrevUpHomeNext