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)  |