CMS 3D CMS Logo

Classes | Namespaces | Defines

CMSSW_4_4_3_patch1/src/FWCore/PluginManager/interface/PluginFactory.h File Reference

#include <map>
#include <vector>
#include "FWCore/PluginManager/interface/PluginFactoryBase.h"
#include "FWCore/PluginManager/interface/PluginManager.h"

Go to the source code of this file.

Classes

class  edmplugin::PluginFactory< R *(Arg)>
class  edmplugin::PluginFactory< R *(Arg1, Arg2)>
class  edmplugin::PluginFactory< R *(void)>
struct  edmplugin::PluginFactory< R *(Arg1, Arg2)>::PMaker< TPlug >
struct  edmplugin::PluginFactory< R *(Arg)>::PMaker< TPlug >
struct  edmplugin::PluginFactory< R *(void)>::PMaker< TPlug >
struct  edmplugin::PluginFactory< R *(Arg1, Arg2)>::PMakerBase
struct  edmplugin::PluginFactory< R *(Arg)>::PMakerBase
struct  edmplugin::PluginFactory< R *(void)>::PMakerBase

Namespaces

namespace  edmplugin

Defines

#define CONCATENATE(a, b)   CONCATENATE_HIDDEN(a,b)
#define CONCATENATE_HIDDEN(a, b)   a ## b
#define DEFINE_EDM_PLUGIN(factory, type, name)   static factory::PMaker<type> EDM_PLUGIN_SYM(s_maker , __LINE__ ) (name)
#define EDM_PLUGIN_SYM(x, y)   EDM_PLUGIN_SYM2(x,y)
#define EDM_PLUGIN_SYM2(x, y)   x ## y
#define EDM_REGISTER_PLUGINFACTORY(_factory_, _category_)

Define Documentation

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

Definition at line 195 of file PluginFactory.h.

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

Definition at line 194 of file PluginFactory.h.

#define DEFINE_EDM_PLUGIN (   factory,
  type,
  name 
)    static factory::PMaker<type> EDM_PLUGIN_SYM(s_maker , __LINE__ ) (name)

Definition at line 207 of file PluginFactory.h.

#define EDM_PLUGIN_SYM (   x,
 
)    EDM_PLUGIN_SYM2(x,y)

Definition at line 204 of file PluginFactory.h.

#define EDM_PLUGIN_SYM2 (   x,
 
)    x ## y

Definition at line 205 of file PluginFactory.h.

#define EDM_REGISTER_PLUGINFACTORY (   _factory_,
  _category_ 
)
Value:
namespace edmplugin {\
  template<> edmplugin::PluginFactory<_factory_::TemplateArgType>* edmplugin::PluginFactory<_factory_::TemplateArgType>::get() { static edmplugin::PluginFactory<_factory_::TemplateArgType> s_instance; return &s_instance;}\
  template<> const std::string& edmplugin::PluginFactory<_factory_::TemplateArgType>::category() const { static std::string s_cat(_category_);  return s_cat;}\
  } enum {CONCATENATE(dummy_edm_register_pluginfactory_, __LINE__)}

Definition at line 196 of file PluginFactory.h.