|
|
|
Defined in header <concepts> | ||
template<class T,class U> concept common_reference_with= | (since C++20) | |
The conceptcommon_reference_with<T, U>
specifies that two typesT
andU
share acommon reference type (as computed bystd::common_reference_t) to which both can be converted.
T and U modelstd::common_reference_with<T, U> only if, givenequality-preserving expressionst1
,t2
,u1
andu2
such thatdecltype((t1)) anddecltype((t2)) are bothT
anddecltype((u1)) anddecltype((u2)) are bothU
,
t1
equalst2
; andu1
equalsu2
.In other words, the conversion to the common reference type mustpreserve equality.
common_reference_with
[concept.commonref] common_reference_with
[concept.commonref] determines the common reference type of a group of types (class template)[edit] | |
(C++20) | specifies that two types share a common type (concept)[edit] |
(C++11) | determines the common type of a group of types (class template)[edit] |