IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
StripBinaryMixedRuleOperators.h
Go to the documentation of this file.
1 // StripBinaryMixedRuleOperators.h:
3 // --------------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_STRIPBINARYMIXEDRULEOPERATORS_H__
17 #define __IPSDKIMAGEPROCESSING_STRIPBINARYMIXEDRULEOPERATORS_H__
18 
19 #include <IPSDKImageProcessing/Rule/Strip/StripBinaryMixed/RuleMatchLeafToStripRange.h>
20 #include <IPSDKImageProcessing/Rule/Strip/StripBinaryMixed/RuleMatchValueToStripRange.h>
22 
23 namespace ipsdk {
24 namespace imaproc {
25 
28 
32 bufferType(const StripAttributeConstWeakPtr& pStripAttribute,
33  const IBTAttributeConstWeakPtr& pIBTAttribute);
34 
39  const IBTAttributeConstWeakPtr& pIBTAttribute);
40 
44 template <typename LeafType, typename LeafAttributeType>
46 matchStripRange(const StripAttributeConstPtr& pStripAttribute,
47  const boost::shared_ptr<LeafAttributeType>& pLeafAttribute)
48 {
49  return matchStripRange<LeafType>(StripAttributeConstWeakPtr(pStripAttribute),
50  boost::weak_ptr<LeafAttributeType>(pLeafAttribute));
51 }
52 template <typename LeafType, typename LeafAttributeType>
55  const boost::weak_ptr<LeafAttributeType>& pLeafAttribute)
56 {
58  boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
59  pOutputRule->init(pStripAttribute, pLeafAttribute);
60 
61  return pOutputRule;
62 }
64 
68 template <typename ValueAttributeType>
70 matchStripRange(const StripAttributeConstPtr& pStripAttribute,
71  const boost::shared_ptr<ValueAttributeType>& pValueAttribute)
72 {
73  return matchStripRange(StripAttributeConstWeakPtr(pStripAttribute),
74  boost::weak_ptr<ValueAttributeType>(pValueAttribute));
75 }
76 template <typename ValueAttributeType>
79  const boost::weak_ptr<ValueAttributeType>& pValueAttribute)
80 {
82  boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
83  pOutputRule->init(pStripAttribute, pValueAttribute);
84 
85  return pOutputRule;
86 }
88 
91 
92 } // end of namespace imaproc
93 } // end of namespace ipsdk
94 
95 #endif // __IPSDKIMAGEPROCESSING_STRIPBINARYMIXEDRULEOPERATORS_H__
Rule class allowing to check that a value is inside a strip buffer type value range.
Definition: RuleMatchValueToStripRange.h:29
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Base operators used to combined rules.
boost::shared_ptr< BaseRule > RulePtr
shared pointer to rule
Definition: RuleTypes.h:104
IPSDKIMAGEPROCESSING_API processor::RulePtr compatibleBufferType(const ImageAttributeConstWeakPtr &pImageAttribute, const IBTAttributeConstWeakPtr &pIBTAttribute)
function allowing to check that an image buffer type size is compatible with a given image buffer typ...
Rule class allowing to check that a DataItem leaf value is inside a strip buffer type value range...
Definition: RuleMatchLeafToStripRange.h:28
processor::RulePtr matchStripRange(const StripAttributeConstPtr &pStripAttribute, const boost::shared_ptr< LeafAttributeType > &pLeafAttribute)
functions allowing to check that a DataItem leaf value is inside an image buffer type value range ...
Definition: StripBinaryMixedRuleOperators.h:46
void init(const StripAttributeConstWeakPtr &pStripAttribute, const boost::weak_ptr< const AttributeType > &pValueAttribute)
initialization of object
Definition: RuleMatchValueToStripRange.h:65
boost::weak_ptr< const BaseImageBufferTypeAttribute > IBTAttributeConstWeakPtr
Definition: ImageBufferTypeAttributeTypes.h:43
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
boost::shared_ptr< const BaseStripAttribute > StripAttributeConstPtr
shared pointer to image strip attribute
Definition: StripAttributeTypes.h:74
IPSDKIMAGEPROCESSING_API processor::RulePtr bufferType(const ImageAttributeConstWeakPtr &pImageAttribute, const IBTAttributeConstWeakPtr &pIBTAttribute)
function allowing to check that an image correspond to a given image buffer types attribute ...
boost::weak_ptr< const BaseStripAttribute > StripAttributeConstWeakPtr
weak pointer to image strip attribute
Definition: StripAttributeTypes.h:80
void init(const StripAttributeConstWeakPtr &pStripAttribute, const boost::weak_ptr< const AttributeType > &pValueAttribute)
initialization of object
Definition: RuleMatchLeafToStripRange.h:77