Freigeben über


bit_xor-Funktion

Ein vordefiniertes Funktionsobjekt, mit dem der bitweise XOR-Vorgang (binäres operator^) auf den Argumenten ausführt wird.

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

Parameter

  • Type, Type1, Type2
    Jeder Typ, der ein operator^-Element unterstützt, das Operanden angegebener oder abgeleiteter Typen akzeptiert.

  • Left
    Der linke Operand des bitweisen XOR-Vorgangs. Die nicht spezialisierte Vorlage besitzt ein lvalue-Verweisargument vom Typ Type. Die spezialisierte Vorlage vervollkommnet die Weiterleitung von lvalue und rvalue-Verweisargumenten des abgeleiteten Typs Type1.

  • Right
    Der rechte Operand des bitweisen XOR-Vorgangs. Die nicht spezialisierte Vorlage besitzt ein lvalue-Verweisargument vom Typ Type. Die spezialisierte Vorlage vervollkommnet die Weiterleitung von lvalue und rvalue-Verweisargumenten des abgeleiteten Typs Type2.

Rückgabewert

Das Ergebnis von Left ^ Right. Die spezialisierte Vorlage vervollkommnet die Weiterleitung des Ergebnisses mit dem von operator^ zurückgegebenen Typs.

Hinweise

Das bit_xor-Funktionselement wird auf Ganzzahltypen für die grundlegenden Datentypen oder benutzerdefinierte Typen beschränkt, die das binäre operator^-Element implementieren.

Anforderungen

Header: <functional>

Namespace: std

Siehe auch

Referenz

<functional>

Lvalues und Rvalues

Standardvorlagenbibliothek