IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
DataItemLeaf.h
1 // DataItemLeaf.h:
3 // ---------------
4 //
14 
15 #ifndef __IPSDKBASEDATA_DATAITEMLEAF_H__
16 #define __IPSDKBASEDATA_DATAITEMLEAF_H__
17 
18 // suppression of warnings
19 // warning C4251: 'ipsdk::DataItemLeaf<T>::_value' : class 'std::basic_string<_Elem,_Traits,_Ax>' needs to have dll-interface to be used by clients of class 'ipsdk::DataItemLeaf<T>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKBaseData/DataItem/Leaf/BaseDataItemLeaf.h>
25 
26 namespace ipsdk {
27 
30 
31 template <typename T>
32 class IPSDKBASEDATA_API DataItemLeaf : public BaseDataItemLeaf
33 {
34  // declare serial class
35  IPSDK_DECLARE_SERIAL_WITH_COPY(IPSDKBaseData, DataItemLeaf);
36 
37 // predefined public types
38 public:
40  typedef T ValueType;
41 
43  static const eDataItemValueType::domain g_dataItemValueType = DataItemValueType2Enum<T>::g_enumValue;
44 
45 public:
48  DataItemLeaf();
49  ~DataItemLeaf();
51 
52 // methods
53 public:
56  {
57  return g_dataItemValueType;
58  }
59 
61  void setValue(const ValueType& value)
62  {
63  _value = value;
64  }
65 
67  const ValueType& getValue() const
68  {
69  return _value;
70  }
71 
74  {
75  return _value;
76  }
77 
78 // attributs
79 protected:
82 };
83 
86 
87 } // end of namespace ipsdk
88 
89 #pragma warning (pop)
90 
91 #endif // __IPSDKBASEDATA_DATAITEMLEAF_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:73
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
const ValueType & getValue() const
get item associated value
Definition: DataItemLeaf.h:67
T ValueType
value type associated to object
Definition: DataItemLeaf.h:40
Header part of macros set for class serialization.
ValueType & accessValue()
access item associated value
Definition: DataItemLeaf.h:73
eDataItemValueType
Enumerate describing data items value type.
Definition: DataItemTypes.h:70
void setValue(const ValueType &value)
set item associated value
Definition: DataItemLeaf.h:61
ValueType _value
value associated to item
Definition: DataItemLeaf.h:81
Template class for data item leafs instantiation.
Definition: DataItemTypes.h:28
structure used to retrieve enumerate value from data item value type
Definition: DataItemTypes.h:184
eDataItemValueType getDataItemValueType() const
retrieve data item value type
Definition: DataItemLeaf.h:55
#define IPSDKBASEDATA_API
Import/Export macro for library IPSDKUtil.
Definition: IPSDKBaseDataExports.h:27