bit_and 函数

预定义在参数上执行二进制和运算(二进制operator&)的函数对象。

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

参数

  • Type, Type1, Type2
    任何支持operator& 使用指定或者推导类型的操作数的类型。

  • Left
    按位与运算的左侧操作。 未指定的模版需要类型Type的左值引用参数。 专有模版确实完美地继承了推断类型Type1的左值和右值引用参数。

  • Right
    按位与运算的右侧操作。 未指定的模版需要类型Type的左值引用参数。 专有模版确实完美地继承了推断类型Type2的左值和右值引用参数。

返回值

Left & Right 的结果。 拥有通过operator&返回的类型的专有模版确实完美地遵循了结果。

备注

bit_and 函数限制为基本数据类型的整数类型,或者实现二进制operator&的用户定义类型。

要求

标头: <起作用的>

命名空间: std

请参见

参考

<functional>

Lvalues 和 Rvalues

标准模板库