IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseImageUnaryInitializer.h
1 // BaseImageUnaryInitializer.h:
3 // ----------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_BASEIMAGEUNARYINITIALIZER_H__
17 #define __IPSDKIMAGEPROCESSING_BASEIMAGEUNARYINITIALIZER_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::imaproc::BaseImageUnaryInitializer::_pInputAttribute' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseImageUnaryInitializer'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
24 #include <IPSDKImageProcessing/OutputInitializer/Image/BaseImageInitializer.h>
25 
26 namespace ipsdk {
27 namespace imaproc {
28 
31 
32 template <typename InputAttributeType, typename OutputAttributeType>
34 {
35 public:
39  virtual ~BaseImageUnaryInitializer() = 0;
41 
42 // methods
43 public:
48  const InputAttributeType& getInputImageAttribute() const;
49 
50 protected:
58  void initBase(const boost::weak_ptr<OutputAttributeType>& pOutputAttribute,
59  const boost::weak_ptr<const InputAttributeType>& pInputAttribute);
60 
61 // attributes
62 private:
64  boost::weak_ptr<const InputAttributeType> _pInputAttribute;
65 };
66 
69 
70 } // end of namespace imaproc
71 } // end of namespace ipsdk
72 
73 #pragma warning (pop)
74 
75 #endif // __IPSDKIMAGEPROCESSING_BASEIMAGEUNARYINITIALIZER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Base class for output image initializer using a single image as input.
Definition: BaseImageUnaryInitializer.h:33
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Base class for output image initializer.
Definition: BaseImageInitializer.h:28