Condividi tramite


Funzione bit_xor

Un oggetto funzione predefinito che esegue l'operazione di XOR bit a bit (operator^ binario) sui suoi argomenti.

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

Parametri

  • Type, Type1, Type2
    Qualsiasi tipo che supporti operator^ che accetta gli operandi dei tipi specificati di derivati.

  • Left
    L'operando a sinistra di un'operazione di XOR bit a bit. Il modello non specializzato accetta un argomento di riferimento a lvalue di tipo Type. Il modello specializzato perfeziona l'inoltro degli argomenti di riferimento a rvalue e lvalue di tipo derivato Type1.

  • Right
    L'operando a destra di un'operazione di XOR bit a bit. Il modello non specializzato accetta un argomento di riferimento a lvalue di tipo Type. Il modello specializzato perfeziona l'inoltro degli argomenti di riferimento a rvalue e lvalue di tipo derivato Type2.

Valore restituito

Il risultato di Left ^ Right. Il modello specializzato perfeziona l'inoltro del risultato, il cui tipo è restituito da operator^.

Note

La funzione bit_xor è limitata ai tipi integrali per i tipi di dati di base, o ai tipi definiti dall'utente che implementano operator^ binario.

Requisiti

Intestazione: <funzionale>

Spazio dei nomi: std

Vedere anche

Riferimenti

<functional>

Elementi Lvalue e Rvalue

Libreria di modelli standard