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