Freigeben über


bit_not-Funktion

Ein vordefiniertes Funktionsobjekt, mit dem der bitweise komplementäre (NOT) Vorgang (unäres operator~-Element) auf dem Argument ausgeführt wird.

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

Parameter

  • Type
    Ein Typ, der ein unäres operator~-Element unterstützt.

  • Right
    Der Operand des bitweisen komplementären Vorgangs. Die nicht spezialisierte Vorlage besitzt ein lvalue-Verweisargument vom Typ Type. Die spezialisierte Vorlage vervollkommnet die Weiterleitung von eines lvalue- oder eines rvalue-Verweisarguments des abgeleiteten Typs Type.

Rückgabewert

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

Hinweise

Das bit_not-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