IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseTValuePropertyRule.h
1 // BaseTValuePropertyRule.h:
3 // -------------------------
4 //
15 
16 #ifndef __IPSDKBASEPROCESSING_BASETVALUEPROPERTYRULE_H__
17 #define __IPSDKBASEPROCESSING_BASETVALUEPROPERTYRULE_H__
18 
19 #include <IPSDKBaseProcessing/Rule/Attribute/Value/ValueProperty/BaseValuePropertyRule.h>
20 
21 namespace ipsdk {
22 namespace processor {
23 
26 
27 template <typename T, eValuePropertyRuleType::domain ValuePropertyRuleType>
29 {
30 // predefined public types
31 public:
33  typedef T ValueType;
34 
37 
39  static const eValuePropertyRuleType::domain g_valuePropertyRuleType = ValuePropertyRuleType;
40 
41 public:
45  virtual ~BaseTValuePropertyRule() = 0;
47 
48 // methods
49 public:
51  inline eValuePropertyRuleType getValuePropertyRuleType() const;
52 
53 private:
55  bool testRule() const;
56 
58  std::string createRuleFormalString() const;
59 
61  std::string createRuleEvaluatedString(const ipUInt32 increment) const;
62 
63 // attributes
64 protected:
65 
66 };
67 
70 
71 template <typename T, eValuePropertyRuleType::domain ValuePropertyRuleType>
74 {
75  return g_valuePropertyRuleType;
76 }
77 
80 
81 } // end of namespace processor
82 } // end of namespace ipsdk
83 
84 #endif // __IPSDKBASEPROCESSING_BASETVALUEPROPERTYRULE_H__
eValuePropertyRuleType getValuePropertyRuleType() const
retrieve value property rule operation type
Definition: BaseTValuePropertyRule.h:73
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKBASEPROCESSING_API
Import/Export macro for library IPSDKBaseProcessing.
Definition: IPSDKBaseProcessingExports.h:27
BaseValueAttribute< T > BaseAttributeType
base attribute type associated to rule
Definition: BaseTValuePropertyRule.h:36
Base class for rules allowing to check attributes value properties.
Definition: BaseValuePropertyRule.h:26
Base class for value attributes.
Definition: BaseValueAttribute.h:33
Base template class for rules allowing to check attributes value properties.
Definition: BaseTValuePropertyRule.h:28
T ValueType
underlying type associated to attribute
Definition: BaseTValuePropertyRule.h:33
eValuePropertyRuleType
enumerate describing value property rule operation type
Definition: RuleTypes.h:78
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53