Namespaces
Variants

std:: common_with

From cppreference.net
Défini dans l'en-tête <concepts>
(depuis C++20)

Le concept common_with<T, U> spécifie que deux types T et U partagent un type commun (tel que calculé par std::common_type_t ) vers lequel les deux peuvent être convertis.

Table des matières

Exigences sémantiques

T et U modèlent std :: common_with < T, U > seulement si, étant données des expressions préservant l'égalité t1 , t2 , u1 et u2 telles que decltype ( ( t1 ) ) et decltype ( ( t2 ) ) sont tous deux T et decltype ( ( u1 ) ) et decltype ( ( u2 ) ) sont tous deux U ,

En d'autres termes, la conversion vers le type commun doit préserver l'égalité .

Préservation de l'égalité

Les expressions déclarées dans les requires expressions des concepts de la bibliothèque standard doivent être equality-preserving (sauf indication contraire).

Références

  • Norme C++23 (ISO/IEC 14882:2024) :
  • 18.4.6 Concept common_with [concept.common]
  • Norme C++20 (ISO/CEI 14882:2020) :
  • 18.4.6 Concept common_with [concept.common]

Voir aussi

détermine le type commun d'un groupe de types
(modèle de classe)
détermine le type de référence commun d'un groupe de types
(modèle de classe)
spécifie que deux types partagent un type de référence commun
(concept)