|
|
Go to the documentation of this file. 1 #ifndef Fireworks_Core_register_dataproxybuilder_macro_h 2 #define Fireworks_Core_register_dataproxybuilder_macro_h 23 #include "boost/lexical_cast.hpp" 28 #define REGISTER_PROXYBUILDER_METHODS() \ 29 const std::string& typeName() const { return classTypeName(); } \ 30 const std::string& view() const { return classView(); } \ 31 const std::string& purpose() const { return classPurpose(); } \ 32 static const std::string& classRegisterTypeName(); \ 33 static const std::string& classTypeName(); \ 34 static const std::string& classPurpose(); \ 35 static const std::string& classView() 37 #define CONCATENATE_HIDDEN(a, b) a##b 38 #define CONCATENATE(a, b) CONCATENATE_HIDDEN(a, b) 40 #define DEFINE_PROXYBUILDER_METHODS(_builder_, _type_, _purpose_, _view_) \ 41 const std::string& _builder_::classTypeName() { \ 42 static std::string s_type = edm::TypeWithDict(typeid(_type_)).name(); \ 45 const std::string& _builder_::classRegisterTypeName() { \ 46 static std::string s_type(typeid(_type_).name()); \ 49 const std::string& _builder_::classView() { \ 50 static std::string s_view(boost::lexical_cast<std::string>(_view_)); \ 53 const std::string& _builder_::classPurpose() { \ 54 static std::string s_purpose(_purpose_); \ 57 enum { CONCATENATE(dummy_proxybuilder_methods_, __LINE__) }