std:: mem_fun_ref
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Défini dans l'en-tête
<functional>
|
||
|
template
<
class
Res,
class
T
>
std:: mem_fun_ref_t < Res,T > mem_fun_ref ( Res ( T :: * f ) ( ) ) ; |
(1) |
(obsolète en C++11)
(supprimé en C++17) |
|
template
<
class
Res,
class
T
>
std:: const_mem_fun_ref_t < Res,T > mem_fun_ref ( Res ( T :: * f ) ( ) const ) ; |
(1) |
(obsolète en C++11)
(supprimé en C++17) |
|
template
<
class
Res,
class
T,
class
Arg
>
std:: mem_fun1_ref_t < Res,T,Arg > mem_fun_ref ( Res ( T :: * f ) ( Arg ) ) ; |
(2) |
(obsolète en C++11)
(supprimé en C++17) |
|
template
<
class
Res,
class
T,
class
Arg
>
std:: const_mem_fun1_ref_t < Res,T,Arg > mem_fun_ref ( Res ( T :: * f ) ( Arg ) const ) ; |
(2) |
(obsolète en C++11)
(supprimé en C++17) |
Crée un objet wrapper de fonction membre, en déduisant le type cible à partir des arguments du modèle. L'objet wrapper attend une référence à un objet de type
T
comme premier paramètre de son
operator
(
)
.
Cette fonction et les types associés ont été dépréciés en C++11 et supprimés en C++17 au profit des solutions plus générales std::mem_fn et std::bind , qui créent tous deux des objets fonction compatibles avec les adaptateurs à partir de fonctions membres.
Table des matières |
Paramètres
| f | - | pointeur vers une fonction membre pour laquelle créer un wrapper |
Valeur de retour
Un objet fonction encapsulant f .
Exceptions
Peut lever des exceptions définies par l'implémentation.
Notes
La différence entre std:: mem_fun et std :: mem_fun_ref est que le premier produit un wrapper de fonction qui attend un pointeur vers un objet, tandis que le second — une référence.
Exemple
Utilise
std::mem_fun_ref
pour lier la fonction membre
std::string
size()
.
#include <algorithm> #include <functional> #include <iostream> #include <iterator> #include <string> #include <vector> int main() { std::vector<std::string> v = {"once", "upon", "a", "time"}; std::transform(v.cbegin(), v.cend(), std::ostream_iterator<std::size_t>(std::cout, " "), std::mem_fun_ref(&std::string::size)); }
Sortie :
4 4 1 4
Voir aussi
|
(obsolète en C++11)
(supprimé en C++17)
|
crée un wrapper à partir d'un pointeur vers une fonction membre, appelable avec un pointeur vers un objet
(modèle de fonction) |