IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RuleValueCustomProperty.h
1 // RuleValueCustomProperty.h:
3 // --------------------------
4 //
15 
16 #ifndef __IPSDKBASEPROCESSING_RULEVALUECUSTOMPROPERTY_H__
17 #define __IPSDKBASEPROCESSING_RULEVALUECUSTOMPROPERTY_H__
18 
19 #include <IPSDKBaseProcessing/Rule/Attribute/Value/ValueCustomProperty/BaseTValueCustomPropertyRule.h>
20 #include <boost/function.hpp>
21 
22 namespace ipsdk {
23 namespace processor {
24 
27 
28 template <typename AttributeType>
29 class RuleValueCustomProperty : public BaseTValueCustomPropertyRule<typename AttributeType::ValueType>
30 {
31 // predefined public types
32 public:
34  typedef typename boost::enable_if<typename boost::is_same<boost::mpl::int_<AttributeType::g_attributeType>,
35  boost::mpl::int_<eAttributeType::eAT_Value> >::type,
36  typename AttributeType::ValueType>::type ValueType;
37 
38 public:
44 
45 // methods
46 public:
50  void init(const boost::weak_ptr<const AttributeType>& pAttribute,
51  const CustomEvaluator& customEvaluator);
52 
53 // attributes
54 protected:
55 
56 };
57 
60 
61 template <typename AttributeType>
62 inline void
63 RuleValueCustomProperty<AttributeType>::init(const boost::weak_ptr<const AttributeType>& pAttribute,
64  const CustomEvaluator& customEvaluator)
65 {
66  // call of base class initialization method
67  BaseTValueCustomPropertyRule<ValueType>::initBase(pAttribute, customEvaluator);
68 }
69 
72 
73 } // end of namespace processor
74 } // end of namespace ipsdk
75 
76 #endif // __IPSDKBASEPROCESSING_RULEVALUECUSTOMPROPERTY_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
void initBase()
base class initialization method
boost::function< BoolResult(const AttributeType::ValueType &value)> CustomEvaluator
type associated to functions allowing to test attribute validity
Definition: BaseTValueCustomPropertyRule.h:45
boost::enable_if< typename boost::is_same< boost::mpl::int_< AttributeType::g_attributeType >, boost::mpl::int_< eAttributeType::eAT_Value > >::type, typename AttributeType::ValueType >::type ValueType
retrieve attribute type
Definition: RuleValueCustomProperty.h:36
Base template class for rules allowing to check attributes value custom properties.
Definition: BaseTValueCustomPropertyRule.h:34
void init(const boost::weak_ptr< const AttributeType > &pAttribute, const CustomEvaluator &customEvaluator)
initialization of object
Definition: RuleValueCustomProperty.h:63
Base template class for rules allowing to check attributes value custom properties.
Definition: RuleValueCustomProperty.h:29