bit_xor 函数
预定义在参数上执行二进制和运算(二进制operator^)的函数对象。
template<class Type = void>
struct bit_xor : public binary_function< Type, Type, Type > {
Type operator()(
const Type& Left,
const Type& Right
) const;
};
// specialized transparent functor for operator^
template<>
struct bit_xor<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_xor 函数限制为基本数据类型的整数类型,或者实现二进制operator^的用户定义类型。
要求
标头: <起作用的>
命名空间: std