Tuple.opCmp

Comparison for ordering.

  1. auto opCmp(R rhs)
    struct Tuple
    opCmp
    (
    R
    )
    (
    R rhs
    )
    if (
    areCompatibleTuples!(typeof(this), R, "<")
    )
  2. auto opCmp(R rhs)

Parameters

rhs R

The Tuple to compare against. It must meet the criteria for comparison between Tuples.

Return Value

Type: auto

For any values v1 contained by the left-hand side tuple and any values v2 contained by the right-hand side:

0 if v1 == v2 for all members or the following value for the first position were the mentioned criteria is not satisfied:

  • NaN, in case one of the operands is a NaN.
  • A negative number if the expression v1 < v2 is true.
  • A positive number if the expression v1 > v2 is true.

Examples

The first v1 for which v1 > v2 is true determines the result. This could lead to unexpected behaviour.

auto tup1 = tuple(1, 1, 1);
auto tup2 = tuple(1, 100, 100);
assert(tup1 < tup2);

//Only the first result matters for comparison
tup1[0] = 2;
assert(tup1 > tup2);

Meta