IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Macros
IpEnumAttributeHdrMacros.h File Reference

Header part of macros set for image processing enumerate attributes class declaration. More...

#include <IPSDKImageProcessing/IPSDKImageProcessingExports.h>
#include <IPSDKBaseProcessing/Attribute/Base/AttributeHdrMacros.h>
#include <IPSDKImageProcessing/Attribute/IPEnum/IPEnumAttribute.h>
#include <IPSDKImageProcessing/Rule/IPEnum/IPEnumRuleOperators.h>
#include <boost/thread/lock_guard.hpp>
#include <boost/smart_ptr/make_shared_object.hpp>

Go to the source code of this file.

Macros

#define IPSDK_DECLARE_IPENUM_ATTRIBUTE_BODY(libraryName, className, EnumType, RuleString)
 [Internal] macro allowing to declare an image processing enumerate attribute body concrete class More...
 
#define IPSDK_DECLARE_INPUT_IPENUM_ATTRIBUTE(libraryName, className, EnumType, RuleString)
 macros allowing to declare an input image processing enumerate attribute concrete class More...
 
#define IPSDK_DECLARE_INPUT_OPTIONAL_IPENUM_ATTRIBUTE(libraryName, className, EnumType, RuleString, defaultValue)
 macros allowing to declare an optional input image processing enumerate attribute concrete class More...
 

Detailed Description

Header part of macros set for image processing enumerate attributes class declaration.

Author
E. Noirfalise
Date
2014/09/16

Macro Definition Documentation

◆ IPSDK_DECLARE_IPENUM_ATTRIBUTE_BODY

#define IPSDK_DECLARE_IPENUM_ATTRIBUTE_BODY (   libraryName,
  className,
  EnumType,
  RuleString 
)
Value:
IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className) \
IPSDK_DECLARE_TOOLTIP() \
IPSDK_DECLARE_ATTRIBUTE_BASE_BODY(libraryName, className, RuleString) \
protected: \
className(); \
public: \
~className(); \
public: \
EnumType getValue() const; \
void init(const EnumType& value); \
protected: \
bool checkEnumValue(ipsdk::ipUInt32 enumValue) const;
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53

[Internal] macro allowing to declare an image processing enumerate attribute body concrete class

◆ IPSDK_DECLARE_INPUT_IPENUM_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_IPENUM_ATTRIBUTE (   libraryName,
  className,
  EnumType,
  RuleString 
)
Value:
class IPSDK_LIB_API(libraryName) className : \
public ipsdk::imaproc::IPEnumAttribute<EnumType> { \
IPSDK_DECLARE_IPENUM_ATTRIBUTE_BODY(libraryName, className, EnumType,RuleString) \
IPSDK_DECLARE_MANDATORY_DATA(); \
};
Template base class for attributes associated to image processing enumerates.
Definition: ImageBufferTypeAttributeTypes.h:26

macros allowing to declare an input image processing enumerate attribute concrete class

◆ IPSDK_DECLARE_INPUT_OPTIONAL_IPENUM_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_OPTIONAL_IPENUM_ATTRIBUTE (   libraryName,
  className,
  EnumType,
  RuleString,
  defaultValue 
)
Value:
class IPSDK_LIB_API(libraryName) className : \
public ipsdk::imaproc::IPEnumAttribute<EnumType> { \
IPSDK_DECLARE_IPENUM_ATTRIBUTE_BODY(libraryName, className, EnumType, RuleString) \
IPSDK_DECLARE_OPTIONAL_DATA(); \
public: \
inline const ValueType& getDefaultValue() const \
{ \
return retrieveDefaultValue(); \
} \
public: \
static inline const ValueType& retrieveDefaultValue() \
{ \
boost::lock_guard<boost::mutex> lock(getMutex()); \
static ValueType g_defaultValue = defaultValue; \
return g_defaultValue; \
} \
};
Template base class for attributes associated to image processing enumerates.
Definition: ImageBufferTypeAttributeTypes.h:26
static boost::mutex & getMutex()
retrieve mutex associated to class

macros allowing to declare an optional input image processing enumerate attribute concrete class