cpp/utility/tuple/operator cmp

@1,2@ Compares every element of the tuple with the corresponding element of the tuple  by.
 * @1@ Returns if all pairs of corresponding elements are equal.
 * @2@ Returns.

@@ If does not equal, or  is not a valid expression for any  in , the program is ill-formed.

@@

@3-6@ Compares and  lexicographically by, that is, compares the first elements, if they are equivalent, compares the second elements, if those are equivalent, compares the third elements, and so on.


 * @3@ For empty tuples, returns . For non-empty tuples, the effect is equivalent to
 * @4@ Returns.
 * @5@ Returns.
 * @6@ Returns.

@@ If does not equal, or  is not a valid expression returning a type that is convertible to  for any  in , the program is ill-formed.

@7@ Compares and  lexicographically by, that is, compares the first elements, if they are equivalent, compares the second elements, if those are equivalent, compares the third elements, and so on.
 * For empty tuples, returns.
 * For non-empty tuples, the effect is equivalent to

@8@ Same as, except that is a  object, and the number of elements of  is determined by  instead. This overload can only be found via argument-dependent lookup.

@9@ Same as, except that is a  object. denotes the pack of types for each  in  in increasing order. This overload can only be found via argument-dependent lookup.

All comparison operators are short-circuited; they do not access tuple elements beyond what is necessary to determine the result of the comparison.

Return value
@1,8@ if  for all  in, otherwise. For two empty tuples returns.

@2@

@3@ if the first non-equivalent element in  is less than the one in,  if the first non-equivalent element in  is less than the one in  or there is no non-equivalent element. For two empty tuples, returns.

@4@

@5@

@6@

@7,9@ The relation between the first pair of non-equivalent elements if there is any, otherwise. For two empty tuples, returns.