|
|
Go to the documentation of this file. 1 #ifndef Fireworks_Core_register_dataproxybuilder_macro_h
2 #define Fireworks_Core_register_dataproxybuilder_macro_h
27 #define REGISTER_PROXYBUILDER_METHODS() \
28 const std::string& typeName() const { return classTypeName(); } \
29 const std::string& view() const { return classView(); } \
30 const std::string& purpose() const { return classPurpose(); } \
31 static const std::string& classRegisterTypeName(); \
32 static const std::string& classTypeName(); \
33 static const std::string& classPurpose(); \
34 static const std::string& classView()
36 #define CONCATENATE_HIDDEN(a, b) a##b
37 #define CONCATENATE(a, b) CONCATENATE_HIDDEN(a, b)
39 #define DEFINE_PROXYBUILDER_METHODS(_builder_, _type_, _purpose_, _view_) \
40 const std::string& _builder_::classTypeName() { \
41 static std::string s_type = edm::TypeWithDict(typeid(_type_)).name(); \
44 const std::string& _builder_::classRegisterTypeName() { \
45 static std::string s_type(typeid(_type_).name()); \
48 const std::string& _builder_::classView() { \
49 static std::string s_view(std::to_string(_view_)); \
52 const std::string& _builder_::classPurpose() { \
53 static std::string s_purpose(_purpose_); \
56 enum { CONCATENATE(dummy_proxybuilder_methods_, __LINE__) }