IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseImageBinaryInitializer.h
1 // BaseImageBinaryInitializer.h:
3 // -----------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_BASEIMAGEBINARYINITIALIZER_H__
17 #define __IPSDKIMAGEPROCESSING_BASEIMAGEBINARYINITIALIZER_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::imaproc::BaseImageBinaryInitializer::_pInputAttribute1' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseImageBinaryInitializer'
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 InputAttributeType1, typename InputAttributeType2, typename OutputAttributeType>
34 {
35 public:
39  virtual ~BaseImageBinaryInitializer() = 0;
41 
42 // methods
43 public:
49  const InputAttributeType1& getInputImageAttribute1() const;
50  const InputAttributeType2& getInputImageAttribute2() const;
52 
53 protected:
63  void initBase(const boost::weak_ptr<OutputAttributeType>& pOutputAttribute,
64  const boost::weak_ptr<const InputAttributeType1>& pInputAttribute1,
65  const boost::weak_ptr<const InputAttributeType2>& pInputAttribute2);
66 
67 // attributes
68 private:
71  boost::weak_ptr<const InputAttributeType1> _pInputAttribute1;
72  boost::weak_ptr<const InputAttributeType2> _pInputAttribute2;
74 };
75 
78 
79 } // end of namespace imaproc
80 } // end of namespace ipsdk
81 
82 #pragma warning (pop)
83 
84 #endif // __IPSDKIMAGEPROCESSING_BASEIMAGEBINARYINITIALIZER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Base class for output image initializer.
Definition: BaseImageInitializer.h:28
Base class for output image initializer using two images as input.
Definition: BaseImageBinaryInitializer.h:33