CMS 3D CMS Logo

ProxyFactoryBase.h
Go to the documentation of this file.
1 #ifndef Framework_ProxyFactoryBase_h
2 #define Framework_ProxyFactoryBase_h
3 // -*- C++ -*-
4 //
5 // Package: Framework
6 // Class : ProxyFactoryBase
7 //
16 //
17 // Author: Chris Jones
18 // Created: Thu Apr 7 21:50:36 CDT 2005
19 //
20 
21 // system include files
22 #include <memory>
23 #include <string>
24 
25 // user include files
27 
28 // forward declarations
29 namespace edm {
30  namespace eventsetup {
31  class DataProxy;
33  public:
35  virtual ~ProxyFactoryBase() {}
36 
37  // ---------- const member functions ---------------------
38  virtual std::unique_ptr<DataProxy> makeProxy() const = 0;
39 
40  virtual DataKey makeKey(const std::string& iName) const = 0;
41  // ---------- static member functions --------------------
42 
43  // ---------- member functions ---------------------------
44 
45  private:
46  ProxyFactoryBase(const ProxyFactoryBase&) = delete; // stop default
47 
48  const ProxyFactoryBase& operator=(const ProxyFactoryBase&) = delete; // stop default
49 
50  // ---------- member data --------------------------------
51  };
52 
53  } // namespace eventsetup
54 } // namespace edm
55 
56 #endif
virtual DataKey makeKey(const std::string &iName) const =0
const ProxyFactoryBase & operator=(const ProxyFactoryBase &)=delete
HLT enums.
virtual std::unique_ptr< DataProxy > makeProxy() const =0