Namespaces
Variants

std::copyable_function:: operator()

From cppreference.net
Utilities library
Function objects
Function invocation
(C++17) (C++23)
Identity function object
(C++20)
Old binders and adaptors
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
( until C++17* ) ( until C++17* )
( until C++17* ) ( until C++17* )

( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
R operator ( ) ( Args... args ) /*cv*/ /*ref*/ noexcept ( /*noex*/ ) ;
(depuis C++26)

Appelle la cible stockée invocable avec les paramètres args . Les parties /*cv*/ , /*ref*/ , et /*noex*/ de operator ( ) sont identiques à celles du paramètre template de std::copyable_function .

Équivalent à return std:: invoke_r < R > ( /*cv-ref-cast*/ ( f ) , std:: forward < Args > ( args ) ... ) ; , où f est une lvalue non qualifiée cv qui désigne l'objet cible de * this , et /*cv-ref-cast*/ ( f ) est équivalent à :

  • f si cv ref est vide ou & , ou
  • std:: as_const ( f ) si cv ref est const ou const & , ou
  • std :: move ( f ) si cv ref est && , ou
  • std :: move ( std:: as_const ( f ) ) si cv ref est const && .

Le comportement n'est pas défini si * this est vide.

Table des matières

Paramètres

args - paramètres à passer à la cible appelable stockée

Valeur de retour

std:: invoke_r < R > ( /*conversion qualifiée-référence*/ ( f ) , std:: forward < Args > ( args ) ... ) .

Exceptions

Propage l'exception levée par l'appel de fonction sous-jacent.

Exemple

Voir aussi

invoque la cible
(fonction membre publique de std::function<R(Args...)> )
invoque la cible
(fonction membre publique de std::move_only_function )
appelle la fonction stockée
(fonction membre publique de std::reference_wrapper<T> )
(C++17) (C++23)
invoque tout objet Callable avec les arguments donnés et possibilité de spécifier le type de retour (depuis C++23)
(modèle de fonction)