18#ifndef itkBitwiseOpsFunctors_h
19#define itkBitwiseOpsFunctors_h
31template <
typename TInput1,
typename TInput2 = TInput1,
typename TOutput = TInput1>
32class ITK_TEMPLATE_EXPORT
AND
46 return static_cast<TOutput
>(A & B);
55template <
typename TInput1,
typename TInput2 = TInput1,
typename TOutput = TInput1>
56class ITK_TEMPLATE_EXPORT
OR
70 return static_cast<TOutput
>(A | B);
79template <
typename TInput1,
typename TInput2 = TInput1,
typename TOutput = TInput1>
80class ITK_TEMPLATE_EXPORT
XOR
94 return static_cast<TOutput
>(A ^ B);
103template <
class TInput,
class TOutput>
121 return static_cast<TOutput
>(~A);
TOutput operator()(const TInput1 &A, const TInput2 &B) const
bool operator==(const AND &) const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(AND)
Performs the C++ unary bitwise NOT operator.
bool operator==(const BitwiseNot &) const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(BitwiseNot)
TOutput operator()(const TInput &A) const
TOutput operator()(const TInput1 &A, const TInput2 &B) const
bool operator==(const OR &) const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(OR)
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(XOR)
bool operator==(const XOR &) const
TOutput operator()(const TInput1 &A, const TInput2 &B) const