CMS 3D CMS Logo

ProxyFactoryTemplate.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_ProxyFactoryTemplate_h
2 #define FWCore_Framework_ProxyFactoryTemplate_h
3 // -*- C++ -*-
4 //
5 // Package: Framework
6 // Class : ProxyFactoryTemplate
7 //
16 //
17 // Author: Chris Jones
18 // Created: Fri Apr 8 07:59:32 CDT 2005
19 //
20 
21 // system include files
22 #include <memory>
23 #include <string>
24 
25 // user include files
28 
29 namespace edm {
30  namespace eventsetup {
31 
32  class DataProxy;
33 
34  template <class T>
36  public:
37  using RecordType = typename T::record_type;
38 
39  ProxyFactoryTemplate() = default;
40 
42  const ProxyFactoryTemplate& operator=(const ProxyFactoryTemplate&) = delete;
43 
44  std::unique_ptr<DataProxy> makeProxy(unsigned int) override { return std::make_unique<T>(); }
45 
46  DataKey makeKey(const std::string& iName) const override {
47  return DataKey(DataKey::makeTypeTag<typename T::value_type>(), iName.c_str());
48  }
49  };
50  } // namespace eventsetup
51 } // namespace edm
52 #endif
edm::eventsetup::ProxyFactoryTemplate::RecordType
typename T::record_type RecordType
Definition: ProxyFactoryTemplate.h:37
edm::eventsetup::ProxyFactoryTemplate::operator=
const ProxyFactoryTemplate & operator=(const ProxyFactoryTemplate &)=delete
edm::eventsetup::ProxyFactoryTemplate
Definition: ProxyFactoryTemplate.h:35
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::eventsetup::DataKey
Definition: DataKey.h:29
ProxyFactoryBase.h
edm::eventsetup::ProxyFactoryTemplate::makeProxy
std::unique_ptr< DataProxy > makeProxy(unsigned int) override
Definition: ProxyFactoryTemplate.h:44
edm::eventsetup::ProxyFactoryTemplate::ProxyFactoryTemplate
ProxyFactoryTemplate()=default
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DataProxy
Definition: DataProxy.h:26
DataKey.h
edm::eventsetup::ProxyFactoryBase
Definition: ProxyFactoryBase.h:33
edm::eventsetup::ProxyFactoryTemplate::makeKey
DataKey makeKey(const std::string &iName) const override
Definition: ProxyFactoryTemplate.h:46