## Expand description

Utilities for comparing and ordering values.

This module contains various tools for comparing and ordering values. In summary:

`PartialEq<Rhs>`

overloads the`==`

and`!=`

operators. In cases where`Rhs`

(the right hand side’s type) is`Self`

, this trait corresponds to a partial equivalence relation.`Eq`

indicates that the overloaded`==`

operator corresponds to an equivalence relation.`Ord`

and`PartialOrd`

are traits that allow you to define total and partial orderings between values, respectively. Implementing them overloads the`<`

,`<=`

,`>`

, and`>=`

operators.`Ordering`

is an enum returned by the main functions of`Ord`

and`PartialOrd`

, and describes an ordering of two values (less, equal, or greater).`Reverse`

is a struct that allows you to easily reverse an ordering.`max`

and`min`

are functions that build off of`Ord`

and allow you to find the maximum or minimum of two values.

For more details, see the respective documentation of each item in the list.

## Structs

- A helper struct for reverse ordering.

## Enums

- An
`Ordering`

is the result of a comparison between two values.

## Traits

- Trait for comparisons corresponding to equivalence relations.
- Trait for types that form a total order.
- Trait for comparisons using the equality operator.
- Trait for types that form a partial order.

## Functions

- Compares and returns the maximum of two values.
- Returns the maximum of two values with respect to the specified comparison function.
- Returns the element that gives the maximum value from the specified function.
- Compares and returns the minimum of two values.
- Returns the minimum of two values with respect to the specified comparison function.
- Returns the element that gives the minimum value from the specified function.
- minmaxExperimentalCompares and sorts two values, returning minimum and maximum.
- minmax_byExperimentalReturns minimum and maximum values with respect to the specified comparison function.
- minmax_by_keyExperimentalReturns minimum and maximum values with respect to the specified key function.

## Derive Macros

- Derive macro generating an impl of the trait
`Eq`

. - Derive macro generating an impl of the trait
`PartialOrd`

. The behavior of this macro is described in detail here.