Namespaces
Variants
Views
Actions

std::basic_common_reference<std::tuple>

From cppreference.com
< cpp‎ | utility‎ | tuple
 
 
Utilities library
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++23)
(C++11)
(C++17)

Elementary string conversions
(C++17)
(C++17)
 
std::tuple
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
basic_common_reference
(C++23)
 
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]