< cpp‎ | utility‎ | tuple
Utilities library
General utilities
Date and time
Function objects
Formatting library (C++20)
Relational operators (deprecated in C++20)
Integer comparison functions
Swap and type operations

Common vocabulary types

Elementary string conversions
Member functions
Non-member functions
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20)
Deduction guides(C++17)
Helper classes
Defined in header <tuple>
template< class... Ts, class... Us,

          template<class> class TQual, template<class> class UQual >
    requires requires {
        typename std::tuple<std::common_reference_t<TQual<Ts>, UQual<Us>>...>;

struct basic_common_reference<std::tuple<Ts...>, std::tuple<Us...>, TQual, UQual>;
(since C++23)

The common reference type of two tuples is a tuple consists of the common reference types of all corresponding element type pairs of both tuples, where the cv and reference qualifiers on the tuples are applied to their element types.

The common reference type is defined only if both tuples have the same number of elements, and their all corresponding element type pairs have common reference types.

[edit] Member types

Member type Definition
type std::tuple<std::common_reference_t<TQual<Ts>, UQual<Us>>...>

[edit] Example

[edit] See also

determines the common reference type of a group of types
(class template) [edit]
determines the common reference type of two pairs
(class template specialization) [edit]