Freigeben über


bit_and-Funktion

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

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

// specialized transparent functor for operator&
template<>
   struct bit_and<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 AND-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 AND-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_and-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