Primarily used to feed references to function templates that take their parameter by value.
to use callable objects as first-class objects.
min
/max
,minmax
returns both minumum and maximum.
- An overload for arrays is provided.
deprecated in C++20 in favor of three-way comparison operator.