18 #ifndef itkBitwiseOpsFunctors_h
19 #define itkBitwiseOpsFunctors_h
33 template <
typename TInput1,
typename TInput2 = TInput1,
typename TOutput = TInput1>
34 class ITK_TEMPLATE_EXPORT
AND
43 ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(
AND);
48 return static_cast<TOutput>(A & B);
57 template <
typename TInput1,
typename TInput2 = TInput1,
typename TOutput = TInput1>
58 class ITK_TEMPLATE_EXPORT
OR
67 ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(
OR);
72 return static_cast<TOutput>(A | B);
81 template <
typename TInput1,
typename TInput2 = TInput1,
typename TOutput = TInput1>
82 class ITK_TEMPLATE_EXPORT
XOR
91 ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(
XOR);
96 return static_cast<TOutput>(A ^ B);
105 template <
class TInput,
class TOutput>
123 return static_cast<TOutput>(~A);