IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RuleNot.h
1 // RuleNot.h:
3 // ----------
4 //
14 
15 #ifndef __IPSDKBASEPROCESSING_RULENOT_H__
16 #define __IPSDKBASEPROCESSING_RULENOT_H__
17 
18 #include <IPSDKBaseProcessing/Rule/Combination/BaseUnaryCombinationRule.h>
19 
20 namespace ipsdk {
21 namespace processor {
22 
25 
27 {
28 // predefined public type
29 public:
31  static const eCombinationRuleType::domain g_combinationRuleType = eCombinationRuleType::eCRT_Not;
32 
33 public:
36  RuleNot();
37  ~RuleNot();
39 
40 // methods
41 public:
43  eCombinationRuleType getCombinationRuleType() const;
44 
45 protected:
47  bool testRule(const BaseRule& rule) const;
48 
50  std::string createRuleFormalString() const;
51 
53  std::string createRuleEvaluatedString(const ipUInt32 increment) const;
54 
55 // attributes
56 protected:
57 
58 };
59 
62 
65 {
66  return g_combinationRuleType;
67 }
68 
71 
72 } // end of namespace processor
73 } // end of namespace ipsdk
74 
75 #endif // __IPSDKBASEPROCESSING_RULENOT_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKBASEPROCESSING_API
Import/Export macro for library IPSDKBaseProcessing.
Definition: IPSDKBaseProcessingExports.h:27
eCombinationRuleType getCombinationRuleType() const
retrieve combination rule operation type
Definition: RuleNot.h:64
static const eCombinationRuleType::domain g_combinationRuleType
rule type associated to rule
Definition: RuleNot.h:31
Class for logical not operations on rules.
Definition: RuleNot.h:26
Base class for rules composed of an operation on another rule.
Definition: BaseUnaryCombinationRule.h:31
Logical not rule operation.
Definition: CombinationRuleTypes.h:38
eCombinationRuleType
enumerate describing combination rule operation type
Definition: CombinationRuleTypes.h:32
Base class for processing attributes rules.
Definition: BaseRule.h:41
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53