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 whereRhs(the right hand side’s type) isSelf, this trait corresponds to a partial equivalence relation.Eqindicates that the overloaded==operator corresponds to an equivalence relation.OrdandPartialOrdare traits that allow you to define total and partial orderings between values, respectively. Implementing them overloads the<,<=,>, and>=operators.Orderingis an enum returned by the main functions ofOrdandPartialOrd, and describes an ordering of two values (less, equal, or greater).Reverseis a struct that allows you to easily reverse an ordering.maxandminare functions that build off ofOrdand allow you to find the maximum or minimum of two values.
For more details, see the respective documentation of each item in the list.
Re-exports§
pub use clamp::ClampBounds;Experimental
Modules§
Macros§
- impl_
for_ 🔒tuples_ up_ to - Calls
macon lists of arguments from size0to1 + count($y). - impl_
homogeneous_ 🔒tuple - Implements
HomogeneousTuplefor a provided tuple. - impl_
largest_ 🔒args - Implements
LargestArgsfor a provided tuple if applicable. - impl_
smallest_ 🔒args - Implements
SmallestArgsfor a provided tuple if applicable. - impl_
tuples 🔒 - Calls each
macon lists of arguments from size zero to twelve.
Structs§
- KeyAnd
Value 🔒 - A pair where ordering and equality work on only the
key, ignoring thevalue. - Reverse
- A helper struct for reverse ordering.
- Assert
Param 👻IsEq Experimental
Enums§
- Ordering
- An
Orderingis the result of a comparison between two values.
Traits§
- Eq
- Trait for comparisons corresponding to equivalence relations.
- Ord
- Trait for types that form a total order.
- Partial
Eq - Trait for comparisons using the equality operator.
- Partial
Ord - Trait for types that form a partial order.
- Homogeneous
Tuple 🔒Experimental - Implementation detail for
smallestandlargest. Marker indicating thatSelfis a tuple where all members are of the same type. - Largest
Args 🔒Experimental - Implementation detail for
largest. - Smallest
Args 🔒Experimental - Implementation detail for
smallest.
Functions§
- default_
chaining_ 🔒impl - max
- Compares and returns the maximum of two values.
- max_by
- Returns the maximum of two values with respect to the specified comparison function.
- max_
by_ key - Returns the element that gives the maximum value from the specified function.
- min
- Compares and returns the minimum of two values.
- min_by
- Returns the minimum of two values with respect to the specified comparison function.
- min_
by_ key - Returns the element that gives the minimum value from the specified function.
- largest
Experimental - Compares and returns the maximum of the provided values.
- minmax
Experimental - Compares and sorts two values, returning minimum and maximum.
- minmax_
by Experimental - Returns minimum and maximum values with respect to the specified comparison function.
- minmax_
by_ key Experimental - Returns minimum and maximum values with respect to the specified key function.
- smallest
Experimental - Compares and returns the minimum of the provided values.
Derive Macros§
- Eq
- Derive macro generating an impl of the trait
Eq. The behavior of this macro is described in detail here. - Ord
- Derive macro generating an impl of the trait
Ord. The behavior of this macro is described in detail here. - Partial
Eq - Derive macro generating an impl of the trait
PartialEq. The behavior of this macro is described in detail here. - Partial
Ord - Derive macro generating an impl of the trait
PartialOrd. The behavior of this macro is described in detail here.