16 #ifndef __IPSDKBASEPROCESSING_RULELEAFCOLLVALUECOMPARISON_H__ 17 #define __IPSDKBASEPROCESSING_RULELEAFCOLLVALUECOMPARISON_H__ 19 #include <IPSDKBaseProcessing/Rule/Attribute/DataItem/LeafColl/LeafCollValueComparison/BaseTLeafCollValueComparisonRule.h> 27 template <
typename AttributeType,
29 eValueComparisonRuleType::domain ValueComparisonRuleType>
31 ValueComparisonRuleType>
36 typedef typename boost::enable_if<typename boost::is_same<boost::mpl::int_<AttributeType::g_attributeType>,
37 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
41 typedef typename boost::enable_if<typename boost::is_same<boost::mpl::int_<LeafType::g_itemType>,
42 boost::mpl::int_<eDataItemType::eDIT_LeafColl> >::type,
46 typedef typename boost::enable_if<typename boost::is_same<boost::mpl::int_<LeafType::g_itemType>,
47 boost::mpl::int_<eDataItemType::eDIT_LeafColl> >::type,
62 void init(
const boost::weak_ptr<const AttributeType>& pAttribute,
80 template <
typename AttributeType,
typename LeafType, eValueComparisonRuleType::domain ValueComparisonRuleType>
89 template <
typename AttributeType,
typename LeafType, eValueComparisonRuleType::domain ValueComparisonRuleType>
93 return AttributeType::getObjectNameStr() +
"::" +
94 DataItemType::template getNodeNameStr<LeafType>();
97 template <
typename AttributeType,
typename LeafType, eValueComparisonRuleType::domain ValueComparisonRuleType>
102 const AttributeType& derivedAttribute =
static_cast<const AttributeType&
>(this->getAttribute1());
104 return derivedAttribute.getNode().template getLeafColl<LeafType>();
113 #endif // __IPSDKBASEPROCESSING_RULELEAFCOLLVALUECOMPARISON_H__ boost::enable_if< typename boost::is_same< boost::mpl::int_< AttributeType::g_attributeType >, boost::mpl::int_< eAttributeType::eAT_DataItem > >::type, typename AttributeType::ValueType >::type DataItemType
retrieve attribute type
Definition: RuleLeafCollValueComparison.h:38
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::enable_if< typename boost::is_same< boost::mpl::int_< LeafType::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_LeafColl > >::type, typename LeafType::ValueType >::type ValueType
Value type associated to leaf.
Definition: RuleLeafCollValueComparison.h:43
void initBase()
base class initialization method
std::string getAttributeName() const
method allowing to retrieve attribute name into derived class
Definition: RuleLeafCollValueComparison.h:91
Concrete class for rule allowing to compare leaf value collection of data item attributes with a give...
Definition: RuleLeafCollValueComparison.h:30
const CollType & getAttributeLeafColl() const
method allowing to retrieve attribute leaf value collection into derived class
Definition: RuleLeafCollValueComparison.h:99
void init(const boost::weak_ptr< const AttributeType > &pAttribute, const ValueType &value)
initialization of object
Definition: RuleLeafCollValueComparison.h:82
Definition: BaseTLeafCollValueComparisonRule.h:32
boost::enable_if< typename boost::is_same< boost::mpl::int_< LeafType::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_LeafColl > >::type, typename LeafType::CollType >::type CollType
Collection type associated to leaf.
Definition: RuleLeafCollValueComparison.h:48