IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseTAttributeComparisonRule.h
1 // BaseTAttributeComparisonRule.h:
3 // -------------------------------
4 //
14 
15 #ifndef __IPSDKBASEPROCESSING_BASETATTRIBUTECOMPARISONRULE_H__
16 #define __IPSDKBASEPROCESSING_BASETATTRIBUTECOMPARISONRULE_H__
17 
18 #include <IPSDKBaseProcessing/Rule/Attribute/Value/AttributeComparison/BaseAttributeComparisonRule.h>
19 
20 namespace ipsdk {
21 namespace processor {
22 
25 
26 template <typename T, eValueComparisonRuleType::domain ValueComparisonRuleType>
28 {
29 // predefined public types
30 public:
32  typedef T ValueType;
33 
36 
38  static const eValueComparisonRuleType::domain g_valueComparisonRuleType = ValueComparisonRuleType;
39 
40 public:
44  virtual ~BaseTAttributeComparisonRule() = 0;
46 
47 // methods
48 public:
50  inline eValueComparisonRuleType getValueComparisonRuleType() const;
51 
52 private:
54  bool testRule() const;
55 
57  std::string createRuleFormalString() const;
58 
60  std::string createRuleEvaluatedString(const ipUInt32 increment) const;
61 
62 // attributes
63 protected:
64 
65 };
66 
69 
70 template <typename T, eValueComparisonRuleType::domain ValueComparisonRuleType>
73 {
74  return g_valueComparisonRuleType;
75 }
76 
79 
80 } // end of namespace processor
81 } // end of namespace ipsdk
82 
83 #endif // __IPSDKBASEPROCESSING_BASETATTRIBUTECOMPARISONRULE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKBASEPROCESSING_API
Import/Export macro for library IPSDKBaseProcessing.
Definition: IPSDKBaseProcessingExports.h:27
T ValueType
underlying type associated to attribute
Definition: BaseTAttributeComparisonRule.h:32
eValueComparisonRuleType
enumerate describing value comparison rule operation type
Definition: RuleTypes.h:56
eValueComparisonRuleType getValueComparisonRuleType() const
retrieve value comparison rule operation type
Definition: BaseTAttributeComparisonRule.h:72
Base template class for rules allowing to compare attributes value.
Definition: BaseTAttributeComparisonRule.h:27
BaseValueAttribute< T > BaseAttributeType
base attribute type associated to rule
Definition: BaseTAttributeComparisonRule.h:35
Base class for value attributes.
Definition: BaseValueAttribute.h:33
Base class for rules allowing to compare attributes value.
Definition: BaseAttributeComparisonRule.h:26
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53