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

Header part of macros set for data item attributes class declaration. More...

#include <IPSDKBaseProcessing/Attribute/Base/AttributeHdrMacros.h>
#include <IPSDKBaseProcessing/Attribute/DataItem/InOut/BaseInOutMandatoryDataItemAttribute.h>
#include <IPSDKBaseProcessing/Attribute/DataItem/InOut/BaseInOutOptionalDataItemAttribute.h>
#include <IPSDKBaseProcessing/Attribute/DataItem/Input/BaseInputMandatoryDataItemAttribute.h>
#include <IPSDKBaseProcessing/Attribute/DataItem/Input/BaseInputOptionalDataItemAttribute.h>
#include <IPSDKBaseProcessing/Attribute/DataItem/Output/BaseOutputMandatoryDataItemAttribute.h>
#include <IPSDKBaseProcessing/Attribute/DataItem/Output/BaseOutputOptionalDataItemAttribute.h>
#include <IPSDKBaseProcessing/Rule/Attribute/DataItem/DataItemRuleOperators.h>
#include <IPSDKBaseData/DataItem/Node/DataItemNodeHdrMacros.h>

Go to the source code of this file.

Macros

#define IPSDK_DECLARE_DATAITEM_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString)
 [Internal] macro allowing to declare a data item node attribute body concrete class More...
 
#define IPSDK_DECLARE_INPUT_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, dataItemClassName, RuleString)
 macros allowing to declare an input data item attribute concrete class from and existing data item More...
 
#define IPSDK_DECLARE_INPUT_DATAITEM_ATTRIBUTE(libraryName, className, RuleString, childSeq)
 macros allowing to declare an input data item attribute concrete class and its associated data item More...
 
#define IPSDK_DECLARE_INOUT_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, dataItemClassName, RuleString)
 macros allowing to declare an in/out data item attribute concrete class from and existing data item
 
#define IPSDK_DECLARE_INOUT_DATAITEM_ATTRIBUTE(libraryName, className, RuleString, childSeq)
 macros allowing to declare an in/out data item attribute concrete class and its associated data item More...
 
#define IPSDK_DECLARE_OUTPUT_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, dataItemClassName, RuleString)
 macros allowing to declare an output data item attribute concrete class from and existing data item
 
#define IPSDK_DECLARE_OUTPUT_DATAITEM_ATTRIBUTE(libraryName, className, RuleString, childSeq)
 macros allowing to declare an output data item attribute concrete class and its associated data item More...
 
#define IPSDK_DECLARE_INPUT_OPTIONAL_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, dataItemClassName, RuleString, defaultValue)
 macros allowing to declare an optional input data item attribute concrete class from and existing data item More...
 
#define IPSDK_DECLARE_INPUT_OPTIONAL_DATAITEM_ATTRIBUTE(libraryName, className, RuleString, childSeq, defaultValue)
 macros allowing to declare an optional input data item attribute concrete class and its associated data item More...
 
#define IPSDK_DECLARE_INOUT_OPTIONAL_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, dataItemClassName, RuleString, defaultValue)
 macros allowing to declare an optional in/out data item attribute concrete class from and existing data item
 
#define IPSDK_DECLARE_INOUT_OPTIONAL_DATAITEM_ATTRIBUTE(libraryName, className, RuleString, childSeq, defaultValue)
 macros allowing to declare an optional in/out data item attribute concrete class and its associated data item More...
 
#define IPSDK_DECLARE_OUTPUT_OPTIONAL_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, dataItemClassName, RuleString, defaultValue)
 macros allowing to declare an optional output data item attribute concrete class from and existing data item
 
#define IPSDK_DECLARE_OUTPUT_OPTIONAL_DATAITEM_ATTRIBUTE(libraryName, className, RuleString, childSeq, defaultValue)
 macros allowing to declare an optional output data item attribute concrete class and its associated data item More...
 

Detailed Description

Header part of macros set for data item attributes class declaration.

Author
E. Noirfalise
Date
2014/03/31

Macro Definition Documentation

◆ IPSDK_DECLARE_DATAITEM_ATTRIBUTE_BODY

#define IPSDK_DECLARE_DATAITEM_ATTRIBUTE_BODY (   libraryName,
  className,
  baseClassName,
  RuleString 
)
Value:
IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className) \
IPSDK_DECLARE_TOOLTIP() \
IPSDK_DECLARE_ATTRIBUTE_BASE_BODY(libraryName, className, RuleString) \
public: \
typedef baseClassName BaseDataItemAttributeClassType; \
protected: \
className(); \
public: \
~className(); \
const std::string& getNodeType() const; \
static const std::string& getNodeTypeStr(); \
void init(const ValueType& dataItemNode); \
void init(const StorageType& pDataItemNode);
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79

[Internal] macro allowing to declare a data item node attribute body concrete class

◆ IPSDK_DECLARE_INPUT_FROM_EXISTING_DATAITEM_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_FROM_EXISTING_DATAITEM_ATTRIBUTE (   libraryName,
  className,
  dataItemClassName,
  RuleString 
)
Value:
class IPSDK_LIB_API(libraryName) className : \
public: \
typedef dataItemClassName ValueType; \
typedef dataItemClassName NodeType; \
typedef boost::shared_ptr<const ValueType> StorageType; \
StorageType getStorage() const \
{ \
return boost::static_pointer_cast<const ValueType, \
} \
IPSDK_DECLARE_DATAITEM_ATTRIBUTE_BODY(libraryName, className, \
RuleString) \
const ValueType& getNode() const \
{ \
return static_cast<const ValueType&>(getDataItemNode()); \
} \
static StorageType retrieveDefaultValue() { \
return StorageType(); \
} \
};
DataItemNodeConstPtr accessDataItemNodePtr() const
retrieve data item node pointer associated to attribute
Base class for input mandatory attributes encapsulating data item nodes.
Definition: BaseInputMandatoryDataItemAttribute.h:26
const BaseDataItemNode & getDataItemNode() const
retrieve data item node associated to attribute
Base class for data item nodes.
Definition: BaseDataItemNode.h:29

macros allowing to declare an input data item attribute concrete class from and existing data item

◆ IPSDK_DECLARE_INPUT_DATAITEM_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_DATAITEM_ATTRIBUTE (   libraryName,
  className,
  RuleString,
  childSeq 
)
Value:
IPSDK_DECLARE_NODE_DATA(libraryName, BOOST_PP_CAT(className, Node), childSeq) }; \
IPSDK_DECLARE_INPUT_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, \
BOOST_PP_CAT(className, Node), RuleString)
#define IPSDK_DECLARE_NODE_DATA(libraryName, className, childSeq)
macro allowing to declare a node concrete class
Definition: DataItemNodeHdrMacros.h:133

macros allowing to declare an input data item attribute concrete class and its associated data item

◆ IPSDK_DECLARE_INOUT_DATAITEM_ATTRIBUTE

#define IPSDK_DECLARE_INOUT_DATAITEM_ATTRIBUTE (   libraryName,
  className,
  RuleString,
  childSeq 
)
Value:
IPSDK_DECLARE_NODE_DATA(libraryName, BOOST_PP_CAT(className, Node), childSeq) }; \
IPSDK_DECLARE_INOUT_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, \
BOOST_PP_CAT(className, Node), RuleString)
#define IPSDK_DECLARE_NODE_DATA(libraryName, className, childSeq)
macro allowing to declare a node concrete class
Definition: DataItemNodeHdrMacros.h:133

macros allowing to declare an in/out data item attribute concrete class and its associated data item

◆ IPSDK_DECLARE_OUTPUT_DATAITEM_ATTRIBUTE

#define IPSDK_DECLARE_OUTPUT_DATAITEM_ATTRIBUTE (   libraryName,
  className,
  RuleString,
  childSeq 
)
Value:
IPSDK_DECLARE_NODE_DATA(libraryName, BOOST_PP_CAT(className, Node), childSeq) }; \
IPSDK_DECLARE_OUTPUT_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, \
BOOST_PP_CAT(className, Node), RuleString)
#define IPSDK_DECLARE_NODE_DATA(libraryName, className, childSeq)
macro allowing to declare a node concrete class
Definition: DataItemNodeHdrMacros.h:133

macros allowing to declare an output data item attribute concrete class and its associated data item

◆ IPSDK_DECLARE_INPUT_OPTIONAL_FROM_EXISTING_DATAITEM_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_OPTIONAL_FROM_EXISTING_DATAITEM_ATTRIBUTE (   libraryName,
  className,
  dataItemClassName,
  RuleString,
  defaultValue 
)
Value:
class IPSDK_LIB_API(libraryName) className : \
public: \
typedef dataItemClassName ValueType; \
typedef dataItemClassName NodeType; \
typedef boost::shared_ptr<const ValueType> StorageType; \
StorageType getStorage() const \
{ \
return boost::static_pointer_cast<const ValueType, \
} \
IPSDK_DECLARE_DATAITEM_ATTRIBUTE_BODY(libraryName, className, \
RuleString) \
const ValueType& getNode() const \
{ \
return static_cast<const ValueType&>(getDataItemNode()); \
} \
static StorageType retrieveDefaultValue() { \
return defaultValue; \
} \
};
DataItemNodeConstPtr accessDataItemNodePtr() const
retrieve data item node pointer associated to attribute
Base class for data item nodes.
Definition: BaseDataItemNode.h:29
Base class for input optional attributes encapsulating data item nodes.
Definition: BaseInputOptionalDataItemAttribute.h:26
const BaseDataItemNode & getDataItemNode() const
retrieve data item node associated to attribute

macros allowing to declare an optional input data item attribute concrete class from and existing data item

◆ IPSDK_DECLARE_INPUT_OPTIONAL_DATAITEM_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_OPTIONAL_DATAITEM_ATTRIBUTE (   libraryName,
  className,
  RuleString,
  childSeq,
  defaultValue 
)
Value:
IPSDK_DECLARE_NODE_DATA(libraryName, BOOST_PP_CAT(className, Node), childSeq) }; \
IPSDK_DECLARE_INPUT_OPTIONAL_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, \
BOOST_PP_CAT(className, Node), \
RuleString, defaultValue)
#define IPSDK_DECLARE_NODE_DATA(libraryName, className, childSeq)
macro allowing to declare a node concrete class
Definition: DataItemNodeHdrMacros.h:133

macros allowing to declare an optional input data item attribute concrete class and its associated data item

◆ IPSDK_DECLARE_INOUT_OPTIONAL_DATAITEM_ATTRIBUTE

#define IPSDK_DECLARE_INOUT_OPTIONAL_DATAITEM_ATTRIBUTE (   libraryName,
  className,
  RuleString,
  childSeq,
  defaultValue 
)
Value:
IPSDK_DECLARE_NODE_DATA(libraryName, BOOST_PP_CAT(className, Node), childSeq) }; \
IPSDK_DECLARE_INOUT_OPTIONAL_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, \
BOOST_PP_CAT(className, Node), \
RuleString, defaultValue)
#define IPSDK_DECLARE_NODE_DATA(libraryName, className, childSeq)
macro allowing to declare a node concrete class
Definition: DataItemNodeHdrMacros.h:133

macros allowing to declare an optional in/out data item attribute concrete class and its associated data item

◆ IPSDK_DECLARE_OUTPUT_OPTIONAL_DATAITEM_ATTRIBUTE

#define IPSDK_DECLARE_OUTPUT_OPTIONAL_DATAITEM_ATTRIBUTE (   libraryName,
  className,
  RuleString,
  childSeq,
  defaultValue 
)
Value:
IPSDK_DECLARE_NODE_DATA(libraryName, BOOST_PP_CAT(className, Node), childSeq) }; \
IPSDK_DECLARE_OUTPUT_OPTIONAL_FROM_EXISTING_DATAITEM_ATTRIBUTE(libraryName, className, \
BOOST_PP_CAT(className, Node), \
RuleString, defaultValue)
#define IPSDK_DECLARE_NODE_DATA(libraryName, className, childSeq)
macro allowing to declare a node concrete class
Definition: DataItemNodeHdrMacros.h:133

macros allowing to declare an optional output data item attribute concrete class and its associated data item