Namespaces
Variants

std:: function_ref

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* )
Défini dans l'en-tête <functional>
template < class ... >
class function_ref ; // non défini
(1) (depuis C++26)
template < class R, class ... Args >

class function_ref < R ( Args... ) > ;
template < class R, class ... Args >
class function_ref < R ( Args... ) noexcept > ;
template < class R, class ... Args >
class function_ref < R ( Args... ) const > ;
template < class R, class ... Args >

class function_ref < R ( Args... ) const noexcept > ;
(2) (depuis C++26)

Le modèle de classe std::function_ref est un wrapper de fonction non propriétaire. Les objets std::function_ref peuvent stocker et invoquer une référence à une Callable cible - fonctions, expressions lambda , expressions de liaison , ou autres objets fonction, mais pas les pointeurs vers les fonctions membres et les pointeurs vers les objets membres. std:: nontype peut être utilisé pour construire std::function_ref en passant des pointeurs de fonction, des pointeurs vers les fonctions membres et des pointeurs vers les objets membres.

std::function_ref prend en charge toutes les combinaisons possibles de cv-qualifiers (à l'exception de volatile ), et de noexcept-specifiers fournies dans son paramètre template.

Chaque spécialisation de std::function_ref est un type TriviallyCopyable qui satisfait copyable .

Table des matières

Types membres

Membre Définition
BoundEntityType (privé) type non spécifié TriviallyCopyable qui satisfait copyable et est capable de stocker un pointeur vers une valeur d'objet ou un pointeur vers une valeur de fonction
( type de membre d'exposition uniquement* )
FunctionPointerType (privé) R ( * ) ( BoundEntityType  , Args && ... ) noexcept ( noex  )

noex est true si noexcept est présent dans la signature de fonction en tant que partie du paramètre template de std::function_ref , false sinon
( type de membre d'exposition uniquement* )

Membres de données

Membre Définition
BoundEntityType bound-entity un objet d'entité liée
( objet membre d'exposition uniquement* )
FunctionPointerType thunk-ptr un pointeur de fonction stocké
( objet membre d'exposition uniquement* )

Fonctions membres

construit un nouvel objet function_ref
(fonction membre publique)
assigne un function_ref
(fonction membre publique)
invoque le thunk stocké d'un function_ref
(fonction membre publique)

Guides de déduction

Notes

Macro de test de fonctionnalité Valeur Std Fonctionnalité
__cpp_lib_function_ref 202306L (C++26) std::function_ref

Exemple

Voir aussi

(C++11)
enveloppe copiable de tout objet appelable copiable
(modèle de classe)
enveloppe copiable de tout objet appelable copiable qui prend en charge les qualificateurs dans une signature d'appel donnée
(modèle de classe)
enveloppe non copiable de tout objet appelable qui prend en charge les qualificateurs dans une signature d'appel donnée
(modèle de classe)
étiquette de construction de valeur
(étiquette)