bit_xor, fonction

Un objet de fonction prédéfinie qui exécute l'opération de bits XOR ( operator^) à ses arguments.

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

// specialized transparent functor for operator^
template<>
   struct bit_xor<void>
   {
      template<class Type1, class Type2>
      auto operator()(Type1&& Left, Type2&& Right) const
         -> decltype(std::forward<Type1>(Left)
            ^ std::forward<Type2>(Right));
   };

Paramètres

  • Type, Type1, Type2
    Tout type qui prend en charge operator^ qui prend des opérandes des types spécifiés ou déduits.

  • Left
    L'opérande de gauche de l'opérateur de bits XOR. 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 et rvalue de type déduit Type1.

  • Right
    L'opérande de droite de l'opérateur de bits XOR. 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 et rvalue de type déduit Type2.

Valeur de retour

Le résultat de Left * ^ + 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_xor 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)