Namespaces
Variants

std::function_ref

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
Fonctions de comparaison d'entiers
(C++20)(C++20)(C++20)    
(C++20)
Opérations d'échange et de typeswap
exchange
declval
to_underlying
forward
forward_like
move_if_noexcept
as_const
Types de vocabulaire communs
pair
optional
variant
tuple_size
tuple_element
apply
make_from_tuple
expected
Objets fonction



 
Enveloppes de fonction
function
move_only_function
copyable_function
function_ref
mem_fn
bad_function_call
Application partielle de fonction
bind_front
(C++23)bind
is_bind_expression
is_placeholder
_1, _2, _3, ...
Invocation de fonction
invoke
(C++23)Objet fonction identité
identity
Enveloppes de référence
reference_wrapper
(C++11)unwrap_reference
(C++20)Enveloppes d'opérateur
plus
negate
multiplies
divides  
modulus
bit_and
bit_or
bit_not
bit_xor
equal_to
not_equal_to
greater
greater_equal
less_equal
logical_and
logical_or
logical_not
Négateurs

not_fn
Chercheurs
default_searcher
boyer_moore_searcher
boyer_moore_horspool_searcher
Comparateurs contraints    
ranges::equal_to
ranges::not_equal_to
ranges::greater
ranges::less
ranges::greater_equal
ranges::less_equal
compare_three_way
Anciens binders et adaptateurs
unary_function
jusqu'à C++17*)binary_function
jusqu'à C++17*)ptr_fun
jusqu'à C++17*)pointer_to_unary_function
jusqu'à C++17*)pointer_to_binary_function
jusqu'à C++17*)mem_fun  
jusqu'à C++17*)mem_fun_t
jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)not1
jusqu'à C++20*)not2
jusqu'à C++20*)binder1st
jusqu'à C++17*)(jusqu'à C++17*)bind1st
jusqu'à C++17*)(jusqu'à C++17*)mem_fun_ref

jusqu'à C++17*)mem_fun_ref_t
jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)unary_negate
jusqu'à C++20*)binary_negate
jusqu'à C++20*)std::function_ref
 
 
template< class... >
class function_ref; // not defined
(depuis C++26) (2)
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>;
(depuis C++26) Le modèle de classe

est une enveloppe de fonction non propriétaire. std::function_ref Les objets std::function_ref peuvent stocker et invoquer une référence à une cible Appelable - fonctions, expressions lambda, expressions bind, ou autres objets fonction, mais pas les pointeurs vers des fonctions membres ni les pointeurs vers des données membres. std::nontype peut être utilisé pour construire std::function_ref en passant des pointeurs de fonction, des pointeurs vers des fonctions membres et des pointeurs vers des données membres.

std::function_refs supporte toutes les combinaisons possibles de qualifications cv (à l'exclusion de volatile), et de spécificateurs noexcept fournis dans son paramètre template.

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

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)