SimpleITK  1.0.1
itkBitwiseNotFunctor.h
Go to the documentation of this file.
1 /*=========================================================================
2 *
3 * Copyright Insight Software Consortium
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18 #ifndef itkBitwiseNotFunctor_h
19 #define itkBitwiseNotFunctor_h
20 
21 #include <cmath>
22 
23 namespace itk
24 {
25 namespace Functor
26 {
31 template< class TInput, class TOutput >
32 class BitwiseNot
33 {
34 public:
35  // Use default copy, assigned and destructor
36  // BitwiseNot() {} default constructor OK
37 
38  bool operator!=(const BitwiseNot &) const
39  {
40  return false;
41  }
42 
43  bool operator==(const BitwiseNot & other) const
44  {
45  return !( *this != other );
46  }
47 
48  inline TOutput operator()(const TInput & A) const
49  {
50  return static_cast<TOutput>( ~A );
51  }
52 };
53 }
54 }
55 
56 #endif // itkBitwiseNotFunctor_h
TOutput operator()(const TInput &A) const
Image BitwiseNot(const Image &image1)
Implements pixel-wise generic operation on one image.
bool operator==(const BitwiseNot &other) const
bool operator!=(const BitwiseNot &) const