bit_not, fonction

Un objet de fonction prédéfinie qui exécute l'opération de bits de complément (NOT) ( operator~unaire) sur son argument.

template<class Type = void>
   struct bit_not : public unary_function<Type, Type> 
   {
      Type operator()(const Type& Right) const;
   };

// specialized transparent functor for operator~
template<> 
   struct bit_not<void> 
   {
      template<class Type>
      auto operator()(Type&& Right) const 
         -> decltype(~std::forward<Type>(Right));
   };

Paramètres

  • Type
    Un type qui prend en charge operator~unaire.

  • Right
    L'opérande de l'opérateur de bits de complément. Le modèle non spécialisé prend un argument de référence lvalue de type Type. Le modèle spécialisé perfectionne le transfert des arguments de référence lvalue ou rvalue de type déduit Type.

Valeur de retour

Le résultat de ~ * Right + . Le modèle spécialisé effectue de façon parfaite le transfert du résultat, qui a le type retourné par operator~.

Notes

Le functor bit_not est limité aux types intégraux pour les types de données de base, ou aux types définis par l'utilisateur qui implémentent operator~binaire.

Configuration requise

En-tête : <functional>

Espace de noms : std

Voir aussi

Référence

<functional>

Lvalues et Rvalues

Bibliothèque STL (Standard Template Library)