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

Source part of macros set for image processing enumerate attributes class implementation. More...

#include <IPSDKBaseProcessing/Attribute/Base/AttributeSrcMacros.h>
#include <IPSDKBaseProcessing/Attribute/Base/AttributeLogMessages.h>
#include <IPSDKBaseProcessing/Logger/IPSDKBaseProcessingLog.h>

Go to the source code of this file.

Macros

#define IPSDK_IMPLEMENT_IPENUM_ATTRIBUTE(libraryName, namespaceSeq, className, eMsgEnum)
 [Internal] macro allowing to implement a mandatory input image processing enumerate attribute concrete class More...
 
#define IPSDK_IMPLEMENT_OPTIONAL_IPENUM_ATTRIBUTE(libraryName, namespaceSeq, className, eMsgEnum)
 [Internal] macro allowing to implement an optional input image processing enumerate attribute concrete class More...
 

Detailed Description

Source part of macros set for image processing enumerate attributes class implementation.

Author
E. Noirfalise
Date
2014/09/16

Macro Definition Documentation

◆ IPSDK_IMPLEMENT_IPENUM_ATTRIBUTE

#define IPSDK_IMPLEMENT_IPENUM_ATTRIBUTE (   libraryName,
  namespaceSeq,
  className,
  eMsgEnum 
)
Value:
IPSDK_IMPLEMENT_SERIAL_WITHOUT_COPY(libraryName, namespaceSeq, className, 1) \
IPSDK_IMPLEMENT_TOOLTIP(libraryName, className, eMsgEnum) \
IPSDK_IMPLEMENT_ATTRIBUTE_BASE_BODY(className, eMsgEnum) \
className::className() \
{ \
} \
className::~className() \
{ \
} \
className::ValueType className::getValue() const \
{ \
return *className::ValueType::get_by_index(static_cast<ipsdk::ipInt32>(accessEnumValue())); \
} \
void className::init(const ValueType& enumValue) \
{ \
BaseIPEnumAttribute::initBase(enumValue.value()); \
} \
bool className::checkEnumValue(ipsdk::ipUInt32 enumValue) const \
{ \
return enumValue < ValueType::size; \
} \
IPSDK_IMPLEMENT_SERIAL_WRITE(className, BaseIPEnumAttribute) \
return true; \
} \
IPSDK_IMPLEMENT_SERIAL_READ(className, BaseIPEnumAttribute) \
return true; \
}
#define IPSDK_IMPLEMENT_SERIAL_WITHOUT_COPY(libraryName, namespaceSeq, className, version)
macro enabling class serialization in library class
Definition: SerializationSrcMacro.h:57
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53

[Internal] macro allowing to implement a mandatory input image processing enumerate attribute concrete class

◆ IPSDK_IMPLEMENT_OPTIONAL_IPENUM_ATTRIBUTE

#define IPSDK_IMPLEMENT_OPTIONAL_IPENUM_ATTRIBUTE (   libraryName,
  namespaceSeq,
  className,
  eMsgEnum 
)
Value:
IPSDK_IMPLEMENT_SERIAL_WITHOUT_COPY(libraryName, namespaceSeq, className, 1) \
IPSDK_IMPLEMENT_TOOLTIP(libraryName, className, eMsgEnum) \
IPSDK_IMPLEMENT_ATTRIBUTE_BASE_BODY(className, eMsgEnum) \
className::className() \
{ \
BaseIPEnumAttribute::initBase(getDefaultValue().value()); \
} \
className::~className() \
{ \
} \
className::ValueType className::getValue() const \
{ \
return *className::ValueType::get_by_index(static_cast<ipsdk::ipInt32>(accessEnumValue())); \
} \
void className::init(const ValueType& enumValue) \
{ \
BaseIPEnumAttribute::initBase(enumValue.value()); \
} \
bool className::checkEnumValue(ipsdk::ipUInt32 enumValue) const \
{ \
return enumValue < ValueType::size; \
} \
IPSDK_IMPLEMENT_SERIAL_WRITE(className, BaseIPEnumAttribute) \
return true; \
} \
IPSDK_IMPLEMENT_SERIAL_READ(className, BaseIPEnumAttribute) \
return true; \
}
#define IPSDK_IMPLEMENT_SERIAL_WITHOUT_COPY(libraryName, namespaceSeq, className, version)
macro enabling class serialization in library class
Definition: SerializationSrcMacro.h:57
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53

[Internal] macro allowing to implement an optional input image processing enumerate attribute concrete class