IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseInOutOptionalValueAttribute.h
1 // BaseInOutOptionalValueAttribute.h:
3 // ----------------------------------
4 //
14 
15 #ifndef __IPSDKBASEPROCESSING_BASEINOUTOPTIONALVALUEATTRIBUTE_H__
16 #define __IPSDKBASEPROCESSING_BASEINOUTOPTIONALVALUEATTRIBUTE_H__
17 
18 // suppression warning
19 // warning C4251: 'ipsdk::processor::BaseInOutOptionalValueAttribute<T>::_defaultValue' : class 'std::basic_string<_Elem,_Traits,_Ax>' needs to have dll-interface to be used by clients of class 'ipsdk::processor::BaseInOutOptionalValueAttribute<T>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKBaseProcessing/Attribute/Value/InOut/BaseInOutValueAttribute.h>
24 
25 namespace ipsdk {
26 namespace processor {
27 
30 
31 template <typename T>
33 {
34  // declare serial class
36 
37  // declare optional data
39 
40 // constructor and destructor
41 protected:
43  BaseInOutOptionalValueAttribute(const T& defaultValue = T());
44 public:
46  virtual ~BaseInOutOptionalValueAttribute() = 0;
47 
48 // methods
49 public:
51  const T& getDefaultValue() const
52  {
53  return _defaultValue;
54  }
55 
56 // attributes
57 protected:
60 };
61 
64 
65 } // end of namespace processor
66 } // end of namespace ipsdk
67 
68 #pragma warning (pop)
69 
70 #endif // __IPSDKBASEPROCESSING_BASEINOUTOPTIONALVALUEATTRIBUTE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKBASEPROCESSING_API
Import/Export macro for library IPSDKBaseProcessing.
Definition: IPSDKBaseProcessingExports.h:27
const T & getDefaultValue() const
retrieve default value associated to attribute
Definition: BaseInOutOptionalValueAttribute.h:51
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
T _defaultValue
default value associated to attribute
Definition: BaseInOutOptionalValueAttribute.h:59
Base class for in/out value attributes.
Definition: BaseInOutValueAttribute.h:27
Base class for in/out optional value attributes.
Definition: BaseInOutOptionalValueAttribute.h:32
#define IPSDK_DECLARE_OPTIONAL_DATA()
macro allowing to declare a optional data
Definition: DataStatusHdrMacros.h:153