IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RuleAllowedImageBufferType.h
1 // RuleAllowedImageBufferType.h:
3 // -----------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_RULEALLOWEDIMAGEBUFFERTYPE_H__
16 #define __IPSDKIMAGEPROCESSING_RULEALLOWEDIMAGEBUFFERTYPE_H__
17 
18 // suppression of warnings
19 // warning C4251: 'ipsdk::imaproc::RuleAllowedImageBufferType::_bufferTypeColl' : class 'std::set<_Kty>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::RuleAllowedImageBufferType'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Rule/Image/ImageProperty/BaseImagePropertyRule.h>
24 
25 namespace ipsdk {
26 namespace imaproc {
27 
30 
32 {
33 // predefined public type
34 public:
36  static const eImagePropertyRuleType::domain g_imagePropertyRuleType = eImagePropertyRuleType::eIPRT_AllowedBufferType;
37 
38 public:
44 
45 // methods
46 public:
48  eImagePropertyRuleType getImagePropertyRuleType() const;
49 
56  void init(const ImageAttributeConstWeakPtr& pAttribute,
57  const image::eImageBufferType& bufferType0);
58  void init(const ImageAttributeConstWeakPtr& pAttribute,
59  const image::eImageBufferType& bufferType0,
60  const image::eImageBufferType& bufferType1);
61  void init(const ImageAttributeConstWeakPtr& pAttribute,
62  const image::eImageBufferType& bufferType0,
63  const image::eImageBufferType& bufferType1,
64  const image::eImageBufferType& bufferType2);
65  void init(const ImageAttributeConstWeakPtr& pAttribute,
66  const image::eImageBufferType& bufferType0,
67  const image::eImageBufferType& bufferType1,
68  const image::eImageBufferType& bufferType2,
69  const image::eImageBufferType& bufferType3);
70  void init(const ImageAttributeConstWeakPtr& pAttribute,
71  const image::eImageBufferType& bufferType0,
72  const image::eImageBufferType& bufferType1,
73  const image::eImageBufferType& bufferType2,
74  const image::eImageBufferType& bufferType3,
75  const image::eImageBufferType& bufferType4);
76  void init(const ImageAttributeConstWeakPtr& pAttribute,
77  const image::eImageBufferType& bufferType0,
78  const image::eImageBufferType& bufferType1,
79  const image::eImageBufferType& bufferType2,
80  const image::eImageBufferType& bufferType3,
81  const image::eImageBufferType& bufferType4,
82  const image::eImageBufferType& bufferType5);
83  void init(const ImageAttributeConstWeakPtr& pAttribute,
84  const image::eImageBufferType& bufferType0,
85  const image::eImageBufferType& bufferType1,
86  const image::eImageBufferType& bufferType2,
87  const image::eImageBufferType& bufferType3,
88  const image::eImageBufferType& bufferType4,
89  const image::eImageBufferType& bufferType5,
90  const image::eImageBufferType& bufferType6);
91  void init(const ImageAttributeConstWeakPtr& pAttribute,
92  const image::eImageBufferType& bufferType0,
93  const image::eImageBufferType& bufferType1,
94  const image::eImageBufferType& bufferType2,
95  const image::eImageBufferType& bufferType3,
96  const image::eImageBufferType& bufferType4,
97  const image::eImageBufferType& bufferType5,
98  const image::eImageBufferType& bufferType6,
99  const image::eImageBufferType& bufferType7);
100  void init(const ImageAttributeConstWeakPtr& pAttribute,
101  const image::eImageBufferType& bufferType0,
102  const image::eImageBufferType& bufferType1,
103  const image::eImageBufferType& bufferType2,
104  const image::eImageBufferType& bufferType3,
105  const image::eImageBufferType& bufferType4,
106  const image::eImageBufferType& bufferType5,
107  const image::eImageBufferType& bufferType6,
108  const image::eImageBufferType& bufferType7,
109  const image::eImageBufferType& bufferType8);
110 
111  void initHeterogeneous(const ImageAttributeConstWeakPtr& pAttribute);
113 
116  const ImageBufferTypeColl& getImageBufferTypeColl() const;
117 
118 protected:
120  bool testRule() const;
121 
123  std::string createRuleFormalString() const;
124 
126  std::string createRuleEvaluatedString(const ipUInt32 increment) const;
127 
128 // attributes
129 protected:
132 };
133 
136 
139 {
141 }
142 
145 
146 } // end of namespace imaproc
147 } // end of namespace ipsdk
148 
149 #pragma warning (pop)
150 
151 #endif // __IPSDKIMAGEPROCESSING_RULEALLOWEDIMAGEBUFFERTYPE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::weak_ptr< const BaseImageAttribute > ImageAttributeConstWeakPtr
Definition: ImageAttributeTypes.h:38
Rule allowing to check allowed image buffer type for an attribute.
Definition: RuleAllowedImageBufferType.h:31
check image allowed buffer types
Definition: ImagePropertyRuleTypes.h:44
eImagePropertyRuleType getImagePropertyRuleType() const
get image property rule type
Definition: RuleAllowedImageBufferType.h:138
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
static const eImagePropertyRuleType::domain g_imagePropertyRuleType
image processing rule type associated to rule
Definition: RuleAllowedImageBufferType.h:36
std::set< image::eImageBufferType > ImageBufferTypeColl
collection of image buffer types
Definition: ImageBufferTypeAttributeTypes.h:50
ImageBufferTypeColl _bufferTypeColl
collection of allowed buffer types
Definition: RuleAllowedImageBufferType.h:131
Base class for rules allowing to check property of an image attribute.
Definition: BaseImagePropertyRule.h:27
eImagePropertyRuleType
enumerate describing image property rule operation type
Definition: ImagePropertyRuleTypes.h:34
eImageBufferType
types associated to image buffers
Definition: ImageTypes.h:78
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53