t)  
[ exchange  ](/w/cpp/utility/exchange "cpp/utility/exchange") (C++14)  |  replaces the argument with a new value and returns its previous value   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_exchange&action=edit)  
Defined in header ` [ <concepts> ](/w/cpp/header/concepts
"cpp/header/concepts") `  
[ ranges::swap  ](/w/cpp/utility/ranges/swap "cpp/utility/ranges/swap") (C++20)  |  swaps the values of two objects   
(customization point object)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/ranges/dsc_swap&action=edit)  
  
###  [ [ edit ](/mwiki/index.php?title=cpp/utility&action=edit&section=17
"Edit section: Type operations") ]  Type operations

Defined in header ` [ <utility> ](/w/cpp/header/utility "cpp/header/utility")
`  
---  
[ forward  ](/w/cpp/utility/forward "cpp/utility/forward") (C++11)  |  forwards a function argument   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_forward&action=edit)  
[ forward_like  ](/w/cpp/utility/forward_like "cpp/utility/forward like") (C++23)  |  forwards a function argument as if casting it to the value category and constness of the expression of specified type template argument   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_forward_like&action=edit)  
[ move  ](/w/cpp/utility/move "cpp/utility/move") (C++11)  |  obtains an rvalue reference   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_move&action=edit)  
[ move_if_noexcept  ](/w/cpp/utility/move_if_noexcept "cpp/utility/move if noexcept") (C++11)  |  obtains an rvalue reference if the move constructor does not throw   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_move_if_noexcept&action=edit)  
[ as_const  ](/w/cpp/utility/as_const "cpp/utility/as const") (C++17)  |  obtains a reference to  const  to its argument   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_as_const&action=edit)  
[ declval  ](/w/cpp/utility/declval "cpp/utility/declval") (C++11)  |  obtains a reference to its argument for use in unevaluated context   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_declval&action=edit)  
[ to_underlying  ](/w/cpp/utility/to_underlying "cpp/utility/to underlying") (C++23)  |  converts an enumeration to its underlying type   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_to_underlying&action=edit)  
  
###  [ [ edit ](/mwiki/index.php?title=cpp/utility&action=edit&section=18
"Edit section: Integer comparison functions") ]  Integer comparison functions

Defined in header ` [ <utility> ](/w/cpp/header/utility "cpp/header/utility")
`  
---  
[ cmp_equal  cmp_not_equal  cmp_less  cmp_greater  cmp_less_equal  cmp_greater_equal  ](/w/cpp/utility/intcmp "cpp/utility/intcmp") (C++20)  |  compares two integer values without value change caused by conversion   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_intcmp&action=edit)  
[ in_range  ](/w/cpp/utility/in_range "cpp/utility/in range") (C++20)  |  checks if an integer value is in the range of a given integer type   
(function template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_in_range&action=edit)  
  
###  [ [ edit ](/mwiki/index.php?title=cpp/utility&action=edit&section=19
"Edit section: Relational operators") ]  Relational operators

Defined in header ` [ <utility> ](/w/cpp/header/utility "cpp/header/utility")
`  
---  
Defined in namespace ` std::rel_ops `  
[ operator!=  operator> operator<=  operator>=  ](/w/cpp/utility/rel_ops/operator_cmp "cpp/utility