std:: basic_common_reference <std::reference_wrapper>
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Non-member functions | ||||
|
(C++26)
(C++26)
|
||||
| Deduction guides (C++17) | ||||
| Helper classes | ||||
|
basic_common_reference
<std::reference_wrapper>
(C++23)
|
|
Défini dans l'en-tête
<functional>
|
||
|
template
<
class
R,
class
T,
template
<
class
>
RQual,
template
<
class
>
TQual
>
|
(1) | (depuis C++23) |
|
template
<
class
T,
class
R,
template
<
class
>
TQual,
template
<
class
>
RQual
>
|
(2) | (depuis C++23) |
|
Concepts auxiliaires
|
||
|
template
<
class
R,
class
T,
class
RQ,
class
TQ
>
concept
/*ref-wrap-common-reference-exists-with*/
=
|
(3) | ( exposition uniquement* ) |
Le type de référence commun d'un
reference_wrapper
(noté
R
) et d'un type
T
, respectivement appliqué avec des qualificateurs cv et de référence (notés
RQ
et
TQ
), est équivalent au type de référence commun du type sous-jacent de
R
appliqué avec une référence lvalue et du
TQ
.
Le type de référence commun est défini uniquement si
R
est le seul
reference_wrapper
, le type sous-jacent de
R
appliqué avec une référence lvalue et le
TQ
ont un type de référence commun auquel
RQ
doit être convertible.
La constante d'exposition uniquement /*is-ref-wrapper*/ < R > est true si et seulement si R est une spécialisation de std::reference_wrapper .
Table des matières |
Types membres
| Type de membre | Définition |
type
|
std:: common_reference_t < typename R :: type & , TQual < T >> ( 1,2 ) |
Notes
| Macro de test de fonctionnalité | Valeur | Std | Fonctionnalité |
|---|---|---|---|
__cpp_lib_common_reference_wrapper
|
202302L
|
(C++23) | Faire de std::common_reference_t de std::reference_wrapper un type référence |
Exemple
#include <concepts> #include <functional> static_assert(std::same_as<std::common_reference_t<int&, std::reference_wrapper<int>>, int&>); static_assert(std::same_as<std::common_reference_t<std::reference_wrapper<int>&, int&>, int&>); static_assert(std::same_as<std::common_reference_t<int&, const std::reference_wrapper<int>&>, int&>); int main() {}
Voir aussi
|
détermine le type de référence commun d'un groupe de types
(modèle de classe) |