Namespaces
Variants

std::common_type<semblable à un tuple>

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support du langage
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
 
 
Défini dans l'en-tête <tuple>
template< tuple-like TTuple, tuple-like UTuple >
    requires /* see below */
struct common_type<TTuple, UTuple>;
(depuis C++23)

Le type commun de deux types tuple-likesemblables à un tuple est un std::tuple constitué des types communs de toutes les paires de types d'éléments correspondantes des deux types.

Étant donné

  • TTypes comme le paquet formé par la séquence de std::tuple_element_t<i, TTuple> pour chaque entier i dans [0std::tuple_size_v<TTuple>), et
  • UTypes comme le paquet formé par la séquence de std::tuple_element_t<i, UTuple> pour chaque entier i dans [0std::tuple_size_v<UTuple>),

les contraintes suivantes doivent être satisfaites :

  • TTuple ou UTuple est une spécialisation de std::tuple.
  • std::is_same_v<TTuple, std::decay_t<TTuple>> est true.
  • std::is_same_v<UTuple, std::decay_t<UTuple>> est true.
  • std::tuple_size_v<TTuple> est égal à std::tuple_size_v<UTuple> (TTuple et UTuple ont le même nombre d'éléments).
  • std::tuple<std::common_type_t<TTypes, UTypes>...> désigne un type.

Types membres

Type de membre Définition
type std:: tuple < std:: common_type_t < TTypes, UTypes > ... >

Exemple

Voir aussi

détermine le type commun d'un groupe de types
(modèle de classe)
détermine le type commun de deux pair s
(spécialisation de modèle de classe)