IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseTLeafCollSizeRule.h
1 // BaseTLeafCollSizeRule.h:
3 // ------------------------
4 //
15 
16 #ifndef __IPSDKBASEPROCESSING_BASETLEAFCOLLSIZERULE_H__
17 #define __IPSDKBASEPROCESSING_BASETLEAFCOLLSIZERULE_H__
18 
19 #include <IPSDKBaseProcessing/Rule/Attribute/DataItem/LeafColl/Size/BaseLeafCollSizeRule.h>
20 
21 namespace ipsdk {
22 namespace processor {
23 
26 
27 template <eValueComparisonRuleType::domain ValueComparisonRuleType>
29 {
30 // predefined public types
31 public:
33  static const eValueComparisonRuleType::domain g_valueComparisonRuleType = ValueComparisonRuleType;
34 
35 public:
39  virtual ~BaseTLeafCollSizeRule() = 0;
41 
42 // methods
43 public:
45  inline eValueComparisonRuleType getValueComparisonRuleType() const;
46 
50  ipUInt32 getValue() const;
51 
52 protected:
54  virtual std::string getAttributeName() const = 0;
55 
57  virtual ipUInt32 getTargetSize() const = 0;
58 
60  virtual ipUInt32 getCollSize() const = 0;
61 
62 private:
64  bool testRule() const;
65 
67  std::string createRuleFormalString() const;
68 
70  std::string createRuleEvaluatedString(const ipUInt32 increment) const;
71 
72 // attributes
73 protected:
74 
75 };
76 
79 
80 template <eValueComparisonRuleType::domain ValueComparisonRuleType>
83 {
84  return g_valueComparisonRuleType;
85 }
86 
89 
90 } // end of namespace processor
91 } // end of namespace ipsdk
92 
93 #endif // __IPSDKBASEPROCESSING_BASETLEAFCOLLSIZERULE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKBASEPROCESSING_API
Import/Export macro for library IPSDKBaseProcessing.
Definition: IPSDKBaseProcessingExports.h:27
eValueComparisonRuleType
enumerate describing value comparison rule operation type
Definition: RuleTypes.h:56
eValueComparisonRuleType getValueComparisonRuleType() const
retrieve value comparison rule operation type
Definition: BaseTLeafCollSizeRule.h:82
Base template class for rules on size of leaf collections of data item attributes.
Definition: BaseTLeafCollSizeRule.h:28
Base class for rules on size of leaf collections of data item attributes.
Definition: BaseLeafCollSizeRule.h:27
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53