IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseDataTypeIdentifier.h
1 // BaseDataTypeIdentifier.h:
3 // -------------------------
4 //
14 
15 #ifndef __IPSDKBASEPROCESSING_BASEDATATYPEIDENTIFIER_H__
16 #define __IPSDKBASEPROCESSING_BASEDATATYPEIDENTIFIER_H__
17 
19 #include <IPSDKSerialization/Engine/BaseSerializationObject.h>
20 
21 namespace ipsdk {
22 namespace processor {
23 
26 
28 {
29  // declare serial class
31 
32 public:
36  virtual ~BaseDataTypeIdentifier() = 0;
38 
39 // methods
40 public:
42  bool isInit() const;
43 
45  void clear();
46 
50  virtual bool isLower(const BaseDataTypeIdentifier& dataTypeId) const = 0;
51 
52 protected:
56  void initBase();
57 
58 // attributes
59 private:
61  bool _bInit;
62 };
63 
66 
67 inline bool
69 {
70  return _bInit;
71 }
72 
75 
76 } // end of namespace processor
77 } // end of namespace ipsdk
78 
79 #endif // __IPSDKBASEPROCESSING_BASEDATATYPEIDENTIFIER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKBASEPROCESSING_API
Import/Export macro for library IPSDKBaseProcessing.
Definition: IPSDKBaseProcessingExports.h:27
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:91
bool isInit() const
retrieve object initialisation flag
Definition: BaseDataTypeIdentifier.h:68
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
Definition of import/export macro for library.
Class used for processing data type function identification.
Definition: BaseDataTypeIdentifier.h:27
Base class for serializable class.
Definition: BaseSerializationObject.h:33