<utility>
Defines C++ Standard Library types, functions, and operators that help to construct and manage pairs of objects, which are useful whenever two objects need to be treated as if they were one.
Requirements
Header: <utility>
Namespace: std
Remarks
Pairs are widely used in the C++ Standard Library. They are required both as the arguments and return values for various functions and as element types for containers such as map class and multimap class. The <utility> header is automatically included by <map> to assist in managing their key/value pair type elements.
Note
The <utility> header uses the statement #include <initializer_list>
. It also refers to class tuple
as defined in <tuple>.
Members
Classes
Type | Description |
---|---|
chars_format | Floating-point format for primitive numerical conversion. |
tuple_element | A class that wraps the type of a pair element. |
tuple_size | A class that wraps pair element count. |
Objects
Template | Description |
---|---|
index_sequence | An alias template defined for the common case where T is std::size_t |
index_sequence_for | Helper alias template to convert any type parameter pack into an index sequence of the same length |
make_index_sequence | Helper alias template to simplify the creation of a std::index_sequence type. |
make_integer_sequence | Helper alias template to simplify the creation of a std::integer_sequence type. |
Functions
Function | Description |
---|---|
as_const | Returns type. |
declval | Shorthand expression evaluation. |
exchange | Assigns a new value to an object and returns its old value. |
forward | Preserves the reference type (either lvalue or rvalue ) of the argument from being obscured by perfect forwarding. |
from_chars | |
get | A function that gets an element from a pair object. |
make_pair | A template helper function used to construct objects of type pair , where the component types are based on the data types passed as parameters. |
move | Returns the passed in argument as an rvalue reference. |
move_if_noexcept | |
swap | Exchanges the elements of two pair objects. |
to_chars | Converts value into a character string. |
Operators
Operator | Description |
---|---|
operator!= | Tests if the pair object on the left side of the operator is not equal to the pair object on the right side. |
operator== | Tests if the pair object on the left side of the operator is equal to the pair object on the right side. |
operator< | Tests if the pair object on the left side of the operator is less than the pair object on the right side. |
operator<= | Tests if the pair object on the left side of the operator is less than or equal to the pair object on the right side. |
operator> | Tests if the pair object on the left side of the operator is greater than the pair object on the right side. |
operator>= | Tests if the pair object on the left side of the operator is greater than or equal to the pair object on the right side. |
Structs
Struct | Description |
---|---|
from_chars_result | A struct used for from_chars . |
identity | A struct that provides a type definition as the template parameter. |
in_place_t | Also includes structs in_place_type_t and in_place_index_t . |
integer_sequence | Represents an integer sequence. |
pair | A type that provides for the ability to treat two objects as a single object. |
piecewise_construct_t | A type used to keep separate constructor and function overloading. |
to_chars_result | A struct used for to_chars . |
See also
Header Files Reference
Thread Safety in the C++ Standard Library