CMS 3D CMS Logo

Macros
register_dataproxybuilder_macro.h File Reference
#include <cstdlib>
#include <string>
#include "FWCore/Reflection/interface/TypeWithDict.h"
#include "FWCore/Utilities/interface/concatenate.h"

Go to the source code of this file.

Macros

#define DEFINE_PROXYBUILDER_METHODS(_builder_, _type_, _purpose_, _view_)
 
#define REGISTER_PROXYBUILDER_METHODS()
 

Macro Definition Documentation

◆ DEFINE_PROXYBUILDER_METHODS

#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 { EDM_CONCATENATE(dummy_proxybuilder_methods_, __LINE__) }
std::string to_string(const V &value)
Definition: OMSAccess.h:77
#define EDM_CONCATENATE(a, b)
Definition: concatenate.h:6
std::string name() const

Definition at line 40 of file register_dataproxybuilder_macro.h.

◆ REGISTER_PROXYBUILDER_METHODS

#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 31 of file register_dataproxybuilder_macro.h.