16 #ifndef __IPSDKBASEPROCESSING_LEAFSCOMPARISONRULEOPERATORS_H__ 17 #define __IPSDKBASEPROCESSING_LEAFSCOMPARISONRULEOPERATORS_H__ 20 #include <IPSDKBaseProcessing/Rule/Attribute/DataItem/Leaf/LeafsComparison/RuleLeafsComparison.h> 33 template <
typename LeafType1,
typename LeafType2,
34 typename AttributeType>
35 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType::g_attributeType>,
36 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
37 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
38 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
39 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
40 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type>::type,
42 isEqual(
const boost::shared_ptr<AttributeType>& pAttribute)
44 return isEqual<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType>(pAttribute),
45 boost::weak_ptr<const AttributeType>(pAttribute));
48 template <
typename LeafType1,
typename LeafType2,
49 typename AttributeType1,
typename AttributeType2>
50 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
51 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
52 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
53 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
54 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
55 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
56 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
57 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
58 typename boost::is_same<
typename AttributeType1::ValueType,
59 typename AttributeType2::ValueType>::type>::type,
61 isEqual(
const boost::shared_ptr<AttributeType1>& pAttribute1,
62 const boost::shared_ptr<AttributeType2>& pAttribute2)
64 return isEqual<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType1>(pAttribute1),
65 boost::weak_ptr<const AttributeType2>(pAttribute2));
68 template <
typename LeafType1,
typename LeafType2,
69 typename AttributeType1,
typename AttributeType2>
70 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
71 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
72 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
73 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
74 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
75 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
76 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
77 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
78 typename boost::is_same<
typename AttributeType1::ValueType,
79 typename AttributeType2::ValueType>::type>::type,
81 isEqual(
const boost::weak_ptr<AttributeType1>& pAttribute1,
82 const boost::weak_ptr<AttributeType2>& pAttribute2)
85 boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
86 pOutputRule->
init(pAttribute1, pAttribute2);
97 template <
typename LeafType1,
typename LeafType2,
98 typename AttributeType>
99 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType::g_attributeType>,
100 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
101 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
102 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
103 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
104 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type>::type,
106 isNotEqual(
const boost::shared_ptr<AttributeType>& pAttribute)
108 return isNotEqual<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType>(pAttribute),
109 boost::weak_ptr<const AttributeType>(pAttribute));
112 template <
typename LeafType1,
typename LeafType2,
113 typename AttributeType1,
typename AttributeType2>
114 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
115 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
116 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
117 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
118 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
119 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
120 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
121 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
122 typename boost::is_same<
typename AttributeType1::ValueType,
123 typename AttributeType2::ValueType>::type>::type,
125 isNotEqual(
const boost::shared_ptr<AttributeType1>& pAttribute1,
126 const boost::shared_ptr<AttributeType2>& pAttribute2)
128 return isNotEqual<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType1>(pAttribute1),
129 boost::weak_ptr<const AttributeType2>(pAttribute2));
132 template <
typename LeafType1,
typename LeafType2,
133 typename AttributeType1,
typename AttributeType2>
134 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
135 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
136 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
137 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
138 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
139 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
140 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
141 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
142 typename boost::is_same<
typename AttributeType1::ValueType,
143 typename AttributeType2::ValueType>::type>::type,
145 isNotEqual(
const boost::weak_ptr<AttributeType1>& pAttribute1,
146 const boost::weak_ptr<AttributeType2>& pAttribute2)
149 boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
150 pOutputRule->
init(pAttribute1, pAttribute2);
161 template <
typename LeafType1,
typename LeafType2,
162 typename AttributeType>
163 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType::g_attributeType>,
164 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
165 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
166 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
167 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
168 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type>::type,
170 isGreater(
const boost::shared_ptr<AttributeType>& pAttribute)
172 return isGreater<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType>(pAttribute),
173 boost::weak_ptr<const AttributeType>(pAttribute));
176 template <
typename LeafType1,
typename LeafType2,
177 typename AttributeType1,
typename AttributeType2>
178 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
179 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
180 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
181 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
182 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
183 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
184 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
185 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
186 typename boost::is_same<
typename AttributeType1::ValueType,
187 typename AttributeType2::ValueType>::type>::type,
189 isGreater(
const boost::shared_ptr<AttributeType1>& pAttribute1,
190 const boost::shared_ptr<AttributeType2>& pAttribute2)
192 return isGreater<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType1>(pAttribute1),
193 boost::weak_ptr<const AttributeType2>(pAttribute2));
196 template <
typename LeafType1,
typename LeafType2,
197 typename AttributeType1,
typename AttributeType2>
198 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
199 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
200 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
201 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
202 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
203 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
204 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
205 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
206 typename boost::is_same<
typename AttributeType1::ValueType,
207 typename AttributeType2::ValueType>::type>::type,
209 isGreater(
const boost::weak_ptr<AttributeType1>& pAttribute1,
210 const boost::weak_ptr<AttributeType2>& pAttribute2)
213 boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
214 pOutputRule->
init(pAttribute1, pAttribute2);
225 template <
typename LeafType1,
typename LeafType2,
226 typename AttributeType>
227 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType::g_attributeType>,
228 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
229 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
230 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
231 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
232 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type>::type,
234 isLower(
const boost::shared_ptr<AttributeType>& pAttribute)
236 return isLower<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType>(pAttribute),
237 boost::weak_ptr<const AttributeType>(pAttribute));
240 template <
typename LeafType1,
typename LeafType2,
241 typename AttributeType1,
typename AttributeType2>
242 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
243 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
244 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
245 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
246 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
247 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
248 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
249 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
250 typename boost::is_same<
typename AttributeType1::ValueType,
251 typename AttributeType2::ValueType>::type>::type,
253 isLower(
const boost::shared_ptr<AttributeType1>& pAttribute1,
254 const boost::shared_ptr<AttributeType2>& pAttribute2)
256 return isLower<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType1>(pAttribute1),
257 boost::weak_ptr<const AttributeType2>(pAttribute2));
260 template <
typename LeafType1,
typename LeafType2,
261 typename AttributeType1,
typename AttributeType2>
262 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
263 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
264 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
265 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
266 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
267 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
268 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
269 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
270 typename boost::is_same<
typename AttributeType1::ValueType,
271 typename AttributeType2::ValueType>::type>::type,
273 isLower(
const boost::weak_ptr<AttributeType1>& pAttribute1,
274 const boost::weak_ptr<AttributeType2>& pAttribute2)
277 boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
278 pOutputRule->
init(pAttribute1, pAttribute2);
289 template <
typename LeafType1,
typename LeafType2,
290 typename AttributeType>
291 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType::g_attributeType>,
292 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
293 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
294 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
295 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
296 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type>::type,
300 return isGreaterOrEqual<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType>(pAttribute),
301 boost::weak_ptr<const AttributeType>(pAttribute));
304 template <
typename LeafType1,
typename LeafType2,
305 typename AttributeType1,
typename AttributeType2>
306 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
307 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
308 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
309 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
310 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
311 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
312 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
313 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
314 typename boost::is_same<
typename AttributeType1::ValueType,
315 typename AttributeType2::ValueType>::type>::type,
318 const boost::shared_ptr<AttributeType2>& pAttribute2)
320 return isGreaterOrEqual<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType1>(pAttribute1),
321 boost::weak_ptr<const AttributeType2>(pAttribute2));
324 template <
typename LeafType1,
typename LeafType2,
325 typename AttributeType1,
typename AttributeType2>
326 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
327 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
328 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
329 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
330 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
331 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
332 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
333 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
334 typename boost::is_same<
typename AttributeType1::ValueType,
335 typename AttributeType2::ValueType>::type>::type,
338 const boost::weak_ptr<AttributeType2>& pAttribute2)
341 boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
342 pOutputRule->
init(pAttribute1, pAttribute2);
353 template <
typename LeafType1,
typename LeafType2,
354 typename AttributeType>
355 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType::g_attributeType>,
356 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
357 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
358 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
359 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
360 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type>::type,
364 return isLowerOrEqual<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType>(pAttribute),
365 boost::weak_ptr<const AttributeType>(pAttribute));
368 template <
typename LeafType1,
typename LeafType2,
369 typename AttributeType1,
typename AttributeType2>
370 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
371 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
372 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
373 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
374 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
375 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
376 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
377 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
378 typename boost::is_same<
typename AttributeType1::ValueType,
379 typename AttributeType2::ValueType>::type>::type,
382 const boost::shared_ptr<AttributeType2>& pAttribute2)
384 return isLowerOrEqual<LeafType1, LeafType2>(boost::weak_ptr<const AttributeType1>(pAttribute1),
385 boost::weak_ptr<const AttributeType2>(pAttribute2));
388 template <
typename LeafType1,
typename LeafType2,
389 typename AttributeType1,
typename AttributeType2>
390 inline typename boost::enable_if<typename boost::mpl::and_<typename boost::is_same<boost::mpl::int_<AttributeType1::g_attributeType>,
391 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
392 typename boost::is_same<boost::mpl::int_<AttributeType2::g_attributeType>,
393 boost::mpl::int_<eAttributeType::eAT_DataItem> >::type,
394 typename boost::is_same<boost::mpl::int_<LeafType1::g_itemType>,
395 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
396 typename boost::is_same<boost::mpl::int_<LeafType2::g_itemType>,
397 boost::mpl::int_<eDataItemType::eDIT_Leaf> >::type,
398 typename boost::is_same<
typename AttributeType1::ValueType,
399 typename AttributeType2::ValueType>::type>::type,
402 const boost::weak_ptr<AttributeType2>& pAttribute2)
405 boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
406 pOutputRule->
init(pAttribute1, pAttribute2);
418 #endif // __IPSDKBASEPROCESSING_LEAFSCOMPARISONRULEOPERATORS_H__ boost::enable_if< typename boost::mpl::and_< typename boost::is_same< boost::mpl::int_< AttributeType::g_attributeType >, boost::mpl::int_< eAttributeType::eAT_DataItem > >::type, typename boost::is_same< boost::mpl::int_< LeafType1::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type, typename boost::is_same< boost::mpl::int_< LeafType2::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type >::type, RulePtr >::type isGreater(const boost::shared_ptr< AttributeType > &pAttribute)
Rule allowing to check whether a DataItem Leaf is greater than another.
Definition: LeafsComparisonRuleOperators.h:170
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Base operators used to combined rules.
boost::enable_if< typename boost::mpl::and_< typename boost::is_same< boost::mpl::int_< AttributeType::g_attributeType >, boost::mpl::int_< eAttributeType::eAT_DataItem > >::type, typename boost::is_same< boost::mpl::int_< LeafType1::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type, typename boost::is_same< boost::mpl::int_< LeafType2::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type >::type, RulePtr >::type isNotEqual(const boost::shared_ptr< AttributeType > &pAttribute)
Rule allowing to check whether a DataItem Leaf is not equal to another.
Definition: LeafsComparisonRuleOperators.h:106
boost::shared_ptr< BaseRule > RulePtr
shared pointer to rule
Definition: RuleTypes.h:104
boost::enable_if< typename boost::mpl::and_< typename boost::is_same< boost::mpl::int_< AttributeType::g_attributeType >, boost::mpl::int_< eAttributeType::eAT_DataItem > >::type, typename boost::is_same< boost::mpl::int_< LeafType1::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type, typename boost::is_same< boost::mpl::int_< LeafType2::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type >::type, RulePtr >::type isGreaterOrEqual(const boost::shared_ptr< AttributeType > &pAttribute)
Rule allowing to check whether a DataItem Leaf is greater or equal to another.
Definition: LeafsComparisonRuleOperators.h:298
void init(const boost::weak_ptr< const AttributeType1 > &pAttribute1, const boost::weak_ptr< const AttributeType2 > &pAttribute2)
initialization of object
Definition: RuleLeafsComparison.h:104
boost::enable_if< typename boost::mpl::and_< typename boost::is_same< boost::mpl::int_< AttributeType::g_attributeType >, boost::mpl::int_< eAttributeType::eAT_DataItem > >::type, typename boost::is_same< boost::mpl::int_< LeafType1::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type, typename boost::is_same< boost::mpl::int_< LeafType2::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type >::type, RulePtr >::type isLower(const boost::shared_ptr< AttributeType > &pAttribute)
Rule allowing to check whether a DataItem Leaf is lower than another.
Definition: LeafsComparisonRuleOperators.h:234
boost::enable_if< typename boost::mpl::and_< typename boost::is_same< boost::mpl::int_< AttributeType::g_attributeType >, boost::mpl::int_< eAttributeType::eAT_DataItem > >::type, typename boost::is_same< boost::mpl::int_< LeafType1::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type, typename boost::is_same< boost::mpl::int_< LeafType2::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type >::type, RulePtr >::type isEqual(const boost::shared_ptr< AttributeType > &pAttribute)
Rule allowing to check whether a DataItem Leaf is equal to another.
Definition: LeafsComparisonRuleOperators.h:42
Concrete class for rule allowing to compare leaf values of data item attributes.
Definition: RuleLeafsComparison.h:32
boost::enable_if< typename boost::mpl::and_< typename boost::is_same< boost::mpl::int_< AttributeType::g_attributeType >, boost::mpl::int_< eAttributeType::eAT_DataItem > >::type, typename boost::is_same< boost::mpl::int_< LeafType1::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type, typename boost::is_same< boost::mpl::int_< LeafType2::g_itemType >, boost::mpl::int_< eDataItemType::eDIT_Leaf > >::type >::type, RulePtr >::type isLowerOrEqual(const boost::shared_ptr< AttributeType > &pAttribute)
Rule allowing to check whether a DataItem Leaf is lower or equal to another.
Definition: LeafsComparisonRuleOperators.h:362