]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Base/Functors/Inverse.h
0bd1a04fe5ecdd0fd352ead3033c946fe5396a2f
[FrontAlgorithms.git] / lib / fpa / Base / Functors / Inverse.h
1 #ifndef __fpa__Base__Functors__Inverse__h__
2 #define __fpa__Base__Functors__Inverse__h__
3
4 #include <fpa/Config.h>
5 #include <itkFunctionBase.h>
6
7 namespace fpa
8 {
9   namespace Base
10   {
11     namespace Functors
12     {
13       /**
14        */
15       template< class _TInput, class _TOutput >
16       class Inverse
17         : public itk::FunctionBase< _TInput, _TOutput >
18       {
19       public:
20         typedef Inverse                                Self;
21         typedef itk::FunctionBase< _TInput, _TOutput > Superclass;
22         typedef itk::SmartPointer< Self >              Pointer;
23         typedef itk::SmartPointer< const Self >        ConstPointer;
24
25         typedef _TInput  TInput;
26         typedef _TOutput TOutput;
27
28       public:
29         itkNewMacro( Self );
30         itkTypeMacro( Inverse, itk::FunctionBase );
31
32       public:
33         virtual TOutput Evaluate( const TInput& x ) const fpa_OVERRIDE;
34
35       protected:
36         Inverse( );
37         virtual ~Inverse( );
38
39       private:
40         // Purposely not implemented
41         Inverse( const Self& other );
42         Self& operator=( const Self& other );
43       };
44
45     } // ecapseman
46
47   } // ecapseman
48
49 } // ecapseman
50
51 #ifndef ITK_MANUAL_INSTANTIATION
52 #  include <fpa/Base/Functors/Inverse.hxx>
53 #endif // ITK_MANUAL_INSTANTIATION
54
55 #endif // __fpa__Base__Functors__Inverse__h__
56
57 // eof - $RCSfile$