IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseBorder2dPolicyAttribute.h
1 // BaseBorder2dPolicyAttribute.h:
3 // ------------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_BASEBORDER2DPOLICYATTRIBUTE_H__
17 #define __IPSDKIMAGEPROCESSING_BASEBORDER2DPOLICYATTRIBUTE_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::imaproc::BaseBorder2dPolicyAttribute::_pBorder2dPolicy' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseBorder2dPolicyAttribute'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
24 #include <IPSDKImageProcessing/Attribute/BorderPolicy/BaseBorderPolicyAttribute.h>
26 #include <boost/thread/mutex.hpp>
27 
28 namespace ipsdk {
29 namespace imaproc {
30 
33 
35 {
36  // declare serial class
38 
39 // predefined public types
40 public:
43 
46 
47 protected:
50 
51 public:
53  virtual ~BaseBorder2dPolicyAttribute() = 0;
54 
55 // methods
56 public:
60  const image::Border2dPolicy& getBorder2dPolicy() const;
61 
65  const StorageType& getStorage() const;
66 
67 protected:
71  void initBase(const image::Border2dPolicy& border2dPolicy);
72 
74  void clearDerived();
75 
77  static boost::mutex& getMutex();
78 
79 // attributes
80 protected:
83 };
84 
87 
88 } // end of namespace imaproc
89 } // end of namespace ipsdk
90 
91 #pragma warning (pop)
92 
93 #endif // __IPSDKIMAGEPROCESSING_BASEBORDER2DPOLICYATTRIBUTE_H__
Base class for attributes allowing to define a policy for strip borders preparation during a kernel a...
Definition: BaseBorderPolicyAttribute.h:29
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
image::Border2dPolicyConstPtr StorageType
storage type associated to object
Definition: BaseBorder2dPolicyAttribute.h:45
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
boost::shared_ptr< const Border2dPolicy > Border2dPolicyConstPtr
shared pointer to Border2dPolicy
Definition: Border2dPolicyTypes.h:72
image::Border2dPolicy ValueType
value type associated to object
Definition: BaseBorder2dPolicyAttribute.h:42
Class used to define policy for 2d strip borders management during a kernel algorithm processing...
Definition: Border2dPolicy.h:34
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Predefined types for border 2d policy management.
image::Border2dPolicyConstPtr _pBorder2dPolicy
shared pointer to border policy
Definition: BaseBorder2dPolicyAttribute.h:82
Base class for attributes allowing to define a policy for 3d strip borders preparation during a kerne...
Definition: BaseBorder2dPolicyAttribute.h:34