CMS 3D CMS Logo

PluginFactoryManager.h
Go to the documentation of this file.
1 #ifndef FWCore_PluginManager_PluginFactoryManager_h
2 #define FWCore_PluginManager_PluginFactoryManager_h
3 // -*- C++ -*-
4 //
5 // Package: PluginManager
6 // Class : PluginFactoryManager
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Wed Apr 4 12:49:41 EDT 2007
19 //
20 
21 // system include files
22 #include <string>
23 #include <vector>
25 
26 // user include files
27 
28 // forward declarations
29 namespace edmplugin {
30  class PluginFactoryBase;
31  class DummyFriend;
33  public:
34  friend class DummyFriend;
35 
37 
38  typedef std::vector<const PluginFactoryBase*>::const_iterator const_iterator;
39  // ---------- const member functions ---------------------
40  const_iterator begin() const;
41  const_iterator end() const;
42 
43  // ---------- static member functions --------------------
44  static PluginFactoryManager* get();
45 
46  // ---------- member functions ---------------------------
47  void addFactory(const PluginFactoryBase*);
49 
50  private:
52  PluginFactoryManager(const PluginFactoryManager&) = delete; // stop default
53 
54  const PluginFactoryManager& operator=(const PluginFactoryManager&) = delete; // stop default
55 
56  // ---------- member data --------------------------------
57  std::vector<const PluginFactoryBase*> factories_;
58  };
59 
60 } // namespace edmplugin
61 #endif
edmplugin
Definition: AlignmentAlgorithmPluginFactory.cc:9
edmplugin::PluginFactoryManager::PluginFactoryManager
PluginFactoryManager()
Definition: PluginFactoryManager.cc:31
edmplugin::PluginFactoryManager::begin
const_iterator begin() const
Definition: PluginFactoryManager.cc:63
edmplugin::PluginFactoryManager::newFactory_
edm::signalslot::Signal< void(const PluginFactoryBase *)> newFactory_
Definition: PluginFactoryManager.h:48
edmplugin::PluginFactoryManager::addFactory
void addFactory(const PluginFactoryBase *)
Definition: PluginFactoryManager.cc:55
edmplugin::PluginFactoryManager
Definition: PluginFactoryManager.h:32
edmplugin::PluginFactoryManager::~PluginFactoryManager
~PluginFactoryManager()
Definition: PluginFactoryManager.cc:38
edmplugin::PluginFactoryManager::DummyFriend
friend class DummyFriend
Definition: PluginFactoryManager.h:34
edmplugin::PluginFactoryManager::operator=
const PluginFactoryManager & operator=(const PluginFactoryManager &)=delete
Signal.h
edmplugin::PluginFactoryBase
Definition: PluginFactoryBase.h:37
edmplugin::PluginFactoryManager::factories_
std::vector< const PluginFactoryBase * > factories_
Definition: PluginFactoryManager.h:57
PluginFactoryBase
funct::void
TEMPL(T2) struct Divides void
Definition: Factorize.h:29
edmplugin::PluginFactoryManager::const_iterator
std::vector< const PluginFactoryBase * >::const_iterator const_iterator
Definition: PluginFactoryManager.h:38
edmplugin::PluginFactoryManager::end
const_iterator end() const
Definition: PluginFactoryManager.cc:65
edm::signalslot::Signal
Definition: DelayedReader.h:26
edmplugin::PluginFactoryManager::get
static PluginFactoryManager * get()
Definition: PluginFactoryManager.cc:70