bit_and (Función)

Objeto de función predefinido que realiza la operación AND bit a bit (operator& binario) sobre sus argumentos.

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

Parámetros

  • Type, Type1, Type2
    Cualquier tipo que admite un operator& que toma operandos de los tipos especificados o deducidos.

  • Left
    Operando izquierdo de la operación AND bit a bit. La plantilla no especializada toma un argumento de referencia de valor L de tipo Type. La plantilla especializada realiza el reenvío directo de los argumentos de referencia de valor L y valor R del tipo deducido Type1.

  • Right
    Operando derecho de la operación AND bit a bit. La plantilla no especializada toma un argumento de referencia de valor L de tipo Type. La plantilla especializada realiza el reenvío directo de los argumentos de referencia de valor L y valor R del tipo deducido Type2.

Valor devuelto

Resultado de Left & Right. La plantilla especializada realiza el reenvío directo del resultado, que tiene el tipo devuelto por operator&.

Comentarios

El functor de bit_and está limitado a tipos enteros para los tipos de datos básicos, o a tipos definidos por el usuario que implementan el operator& binario.

Requisitos

Encabezado: <functional>

Espacio de nombres: std

Vea también

Referencia

<functional>

Lvalues y rvalues

Biblioteca de plantillas estándar