std::common_type<std::pair>

From cppreference.com
< cpp‎ | utility‎ | pair
 
 
Utilities library
Language support
Type support (basic types, RTTI)
Library feature-test macros (C++20)
Dynamic memory management
Program utilities
Coroutine support (C++20)
Variadic functions
Debugging support
(C++26)
Three-way comparison
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
General utilities
Date and time
Function objects
Formatting library (C++20)
(C++11)
Relational operators (deprecated in C++20)
Integer comparison functions
(C++20)(C++20)(C++20)   
(C++20)
Swap and type operations
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Common vocabulary types
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Elementary string conversions
(C++17)
(C++17)

 
 
Defined in header <utility>
template< class T1, class T2, class U1, class U2 >

  requires requires { typename std::pair<std::common_type_t<T1, U1>,
                                         std::common_type_t<T2, U2>>; }

struct common_type<std::pair<T1, T2>, std::pair<U1, U2>>;
(since C++23)

The common type of two pairs is a pair of both common types of corresponding element types of both pairs.

The common type is defined only if both pairs of corresponding element types have common types.

Member types

Member type Definition
type std::pair<std::common_type_t<T1, U1>, std::common_type_t<T2, U2>>

Example

See also

determines the common type of a group of types
(class template)
determines the common type of a tuple and a tuple-like type
(class template specialization)