## LessThanComparable |

## Detailed Description

A type is LessThanComparable if it is ordered: it must be possible to compare two objects of that type using `operator< `

, and `operator< `

must be a partial ordering.

**Refinement Of:**

**Associated Types:**

**Notation:**`X`

A type that is a model of LessThanComparable `x`

,`y`

,`z`

Object of type `X`

**Definitions:**- Consider the relation
`!(x < y) && !(y < x)`

. If this relation is transitive (that is, if`!(x < y) && !(y < x) && !(y < z) && !(z < y)`

implies`!(x < z) && !(z < x)`

), then it satisfies the mathematical definition of an equivalence relation. In this case,`operator<`

is a*strict weak ordering*.

- If
`operator<`

is a strict weak ordering, and if each equivalence class has only a single element, then`operator<`

is a*total ordering*.

**Valid Expressions:**Name Expression Type requirements Return type Less `x < y`

Convertible to `bool`

Greater `x > y`

Convertible to `bool`

Less or equal `x <= y`

Convertible to `bool`

Greater or equal `x >= y`

Convertible to `bool`

**Expression Semantics:**Name Expression Precondition Semantics Postcondition Less `x < y`

`x`

and`y`

are in the domain of`<`

Greater `x > y`

`x`

and`y`

are in the domain of`<`

Equivalent to `y < x`

[1]Less or equal `x <= y`

`x`

and`y`

are in the domain of`<`

Equivalent to `!(y < x)`

[1]Greater or equal `x >= y`

`x`

and`y`

are in the domain of`<`

Equivalent to `!(x < y)`

[1]

**Complexity Guarantees:**

**Invariants:**Irreflexivity `x < x`

must be false.Antisymmetry `x < y`

implies !(y < x) [2]Transitivity `x < y`

and`y < z`

implies`x < z`

[3]

**Type(s) Modeling this Concept:**- int
- adobe::name_t

**Notes:**- [1] Only
`operator<`

is fundamental; the other inequality operators are essentially syntactic sugar.

- [3] Because of irreflexivity and transitivity,
`operator<`

always satisfies the definition of a*partial ordering*. The definition of a*strict weak ordering*is stricter, and the definition of a*total ordering*is stricter still.

**See Also:**