Espacios de nombres
Variantes

std::basic_common_reference<tuple-like>

De cppreference.com
 
 
Biblioteca de servicios
Apoyo del lenguaje
Apoyo de tipos (tipos básicos, RTTI)
Macros de prueba de característica de la biblioteca (C++20)
Servicios de programa
Funciones variádicas
Apoyo de corrutinas (C++20)
Apoyo de contratos (C++26)
Comparación de tres vías (C++20)
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

 
 
Definido en el archivo de encabezado <tuple>
template< tuple-like TTuple, tuple-like UTuple,
          template<class> class TQual, template<class> class UQual >
    requires /* see below */
struct basic_common_reference<TTuple, UTuple, TQual, UQual>;
(desde C++23)

El tipo de referencia común de dos tipos tuple-like es un std::tuple que consiste en los tipos de referencia comunes de todos los pares de tipos de elementos correspondientes de ambos tipos, donde los calificadores const volatile y de referencia en los tipos similares a tuplas se aplican a sus tipos de elementos.

Dado

  • TTypes como el paquete formado por la secuencia de std::tuple_element_t<i, TTuple> para cada entero i en [0std::tuple_size_v<TTuple>), y
  • UTypes como el paquete formado por la secuencia de std::tuple_element_t<i, UTuple> para cada entero i en [0std::tuple_size_v<UTuple>),

se deben cumplir las siguientes restricciones:

  • TTuple o UTuple es una especialización de std::tuple.
  • std::is_same_v<TTuple, std::decay_t<TTuple>> es true.
  • std::is_same_v<UTuple, std::decay_t<UTuple>> es true.
  • std::tuple_size_v<TTuple> es igual a std::tuple_size_v<UTuple> (TTuple y UTuple tienen el mismo número de elementos).
  • std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...> denota un tipo.

Tipos miembro

Tipo miembro Definición
type std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...>

Ejemplo

Véase también

Determina el tipo común de referencia de un grupo de tipos
(plantilla de clase) [editar]
Obtiene el tipo referencia común de dos tipos pair.
(especialización de plantilla de clase) [editar]