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

Header part of macros set for attribute class declaration. More...

#include <IPSDKUtil/Tools/ObjectBaseInfoHdrMacros.h>
#include <IPSDKBaseProcessing/Rule/Attribute/Optional/OptionalRuleOperators.h>
#include <boost/smart_ptr/make_shared_object.hpp>

Go to the source code of this file.

Macros

#define IPSDK_DECLARE_ATTRIBUTE_BASE_BODY(libraryName, className, RuleString)
 [Internal] macro allowing to declare attribute base body More...
 

Detailed Description

Header part of macros set for attribute class declaration.

Author
E. Noirfalise
Date
2013/8/2

Macro Definition Documentation

◆ IPSDK_DECLARE_ATTRIBUTE_BASE_BODY

#define IPSDK_DECLARE_ATTRIBUTE_BASE_BODY (   libraryName,
  className,
  RuleString 
)
Value:
IPSDK_DECLARE_OBJECT_BASE_INFO(libraryName, className); \
friend boost::shared_ptr<className> boost::make_shared<className>(); \
public: \
static boost::shared_ptr<className> createAttribute(); \
protected: \
static ipsdk::processor::AttributePtr createBaseAttribute(); \
ipsdk::processor::RulePtr createRule(const ipsdk::processor::AttributePtr& pBaseThis) const; \
inline static ipsdk::processor::RulePtr createRule(const boost::shared_ptr<className>& attribute) \
{ \
return RuleString; \
}
boost::shared_ptr< BaseRule > RulePtr
shared pointer to rule
Definition: RuleTypes.h:104
Factory singleton allowing dynamic creation of registred attributes.
Definition: AttributeFactory.h:37
AttributePtr createAttribute(const std::string &className) const
create instance of a registered attribute class
#define IPSDK_DECLARE_OBJECT_BASE_INFO(libraryName, className)
Macro allowing to declare object base informations such as associate library name or file relative pa...
Definition: ObjectBaseInfoHdrMacros.h:27
boost::shared_ptr< BaseAttribute > AttributePtr
shared pointer to attribute
Definition: AttributeTypes.h:52

[Internal] macro allowing to declare attribute base body