std::reference_wrapper<T>:: reference_wrapper
From cppreference.net
<
cpp
|
utility
|
functional
|
reference wrapper
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Function objects
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::reference_wrapper
| Member functions | ||||
|
reference_wrapper::reference_wrapper
|
||||
| Non-member functions | ||||
|
(C++26)
(C++26)
|
||||
| Deduction guides (C++17) | ||||
| Helper classes | ||||
|
template
<
class
U
>
reference_wrapper ( U && x ) noexcept ( /*voir ci-dessous*/ ) ; |
(1) |
(depuis C++11)
(constexpr depuis C++20) |
|
reference_wrapper
(
const
reference_wrapper
&
other
)
noexcept
;
|
(2) |
(depuis C++11)
(constexpr depuis C++20) |
Construit un nouveau wrapper de référence.
1)
Convertit
x
en
T&
comme par
T
&
t
=
std::
forward
<
U
>
(
x
)
;
, puis stocke une référence vers
t
. Cette surcharge participe à la résolution de surcharge seulement si
typename
std::
decay
<
U
>
::
type
n'est pas du même type que
reference_wrapper
et que l'expression
FUN
(
std::
declval
<
U
>
(
)
)
est bien formée, où
FUN
désigne l'ensemble des fonctions imaginaires
void FUN(T&) noexcept; void FUN(T&&) = delete;
2)
Constructeur de copie. Stocke une référence à
other.
get
(
)
.
Table des matières |
Paramètres
| x | - | un objet à encapsuler |
| other | - | un autre wrapper de référence |
Exceptions
1)
noexcept
spécification :
où
noexcept
(
noexcept
(
FUN
(
std::
declval
<
U
>
(
)
)
)
)
FUN
est l'ensemble des fonctions imaginaires décrites dans la description ci-dessus.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement tel que publié | Comportement correct |
|---|---|---|---|
| LWG 2993 | C++11 |
constructeur
reference_wrapper(T&&)
supprimé interfère
avec la résolution de surcharge dans certains cas |
remplacé par un constructeur template |