15 #ifndef __IPSDKBASEPROCESSING_ATTRIBUTEHDRMACROS_H__ 16 #define __IPSDKBASEPROCESSING_ATTRIBUTEHDRMACROS_H__ 20 #include <boost/smart_ptr/make_shared_object.hpp> 27 #define IPSDK_DECLARE_ATTRIBUTE_BASE_BODY(libraryName, className, RuleString) \ 28 IPSDK_DECLARE_OBJECT_BASE_INFO(libraryName, className); \ 29 friend class ipsdk::processor::AttributeFactory; \ 30 friend boost::shared_ptr<className> boost::make_shared<className>(); \ 32 static boost::shared_ptr<className> createAttribute(); \ 34 static ipsdk::processor::AttributePtr createBaseAttribute(); \ 35 ipsdk::processor::RulePtr createRule(const ipsdk::processor::AttributePtr& pBaseThis) const; \ 36 inline static ipsdk::processor::RulePtr createRule(const boost::shared_ptr<className>& attribute) \ 44 #endif // __IPSDKBASEPROCESSING_ATTRIBUTEHDRMACROS_H__ Predefined operators for rules on optional attributes.
Macro allowing to manage object base informations.