CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Macros
register_dataproxybuilder_macro.h File Reference
#include <cstdlib>
#include "FWCore/Reflection/interface/TypeWithDict.h"

Go to the source code of this file.

Macros

#define CONCATENATE(a, b)   CONCATENATE_HIDDEN(a, b)
 
#define CONCATENATE_HIDDEN(a, b)   a##b
 
#define DEFINE_PROXYBUILDER_METHODS(_builder_, _type_, _purpose_, _view_)
 
#define REGISTER_PROXYBUILDER_METHODS()
 

Macro Definition Documentation

#define CONCATENATE (   a,
  b 
)    CONCATENATE_HIDDEN(a, b)

Definition at line 37 of file register_dataproxybuilder_macro.h.

#define CONCATENATE_HIDDEN (   a,
  b 
)    a##b

Definition at line 36 of file register_dataproxybuilder_macro.h.

#define DEFINE_PROXYBUILDER_METHODS (   _builder_,
  _type_,
  _purpose_,
  _view_ 
)
Value:
const std::string& _builder_::classTypeName() { \
static std::string s_type = edm::TypeWithDict(typeid(_type_)).name(); \
return s_type; \
} \
const std::string& _builder_::classRegisterTypeName() { \
static std::string s_type(typeid(_type_).name()); \
return s_type; \
} \
const std::string& _builder_::classView() { \
static std::string s_view(std::to_string(_view_)); \
return s_view; \
} \
const std::string& _builder_::classPurpose() { \
static std::string s_purpose(_purpose_); \
return s_purpose; \
} \
enum { CONCATENATE(dummy_proxybuilder_methods_, __LINE__) }
std::string name() const
#define CONCATENATE(a, b)

Definition at line 39 of file register_dataproxybuilder_macro.h.

#define REGISTER_PROXYBUILDER_METHODS ( )
Value:
const std::string& typeName() const { return classTypeName(); } \
const std::string& view() const { return classView(); } \
const std::string& purpose() const { return classPurpose(); } \
static const std::string& classRegisterTypeName(); \
static const std::string& classTypeName(); \
static const std::string& classPurpose(); \
static const std::string& classView()

Description: Adds needed methods to a ProxyBuilder

Usage: <usage>

Definition at line 27 of file register_dataproxybuilder_macro.h.