CMS 3D CMS Logo

makeGlobal.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_stream_makeGlobal_h
2 #define FWCore_Framework_stream_makeGlobal_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : makeGlobal
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Thu, 22 May 2014 13:55:01 GMT
19 //
20 
21 // system include files
22 
23 // user include files
24 
25 // forward declarations
26 
27 namespace edm {
28  namespace stream {
29  namespace impl {
30  template<typename T, typename G>
31  std::unique_ptr<G> makeGlobal(edm::ParameterSet const& iPSet, G const*) {
32  return T::initializeGlobalCache(iPSet);
33  }
34  template<typename T>
35  dummy_ptr makeGlobal(edm::ParameterSet const& iPSet, void const*) {
36  return dummy_ptr();
37  }
38 
39  template< typename T, typename G>
41  G const* iGlobal) {
42  return new T(iPSet,iGlobal);
43  }
44 
45  template< typename T>
47  void const* ) {
48  return new T(iPSet);
49  }
50  }
51  }
52 }
53 #endif
T * makeStreamModule(edm::ParameterSet const &iPSet, G const *iGlobal)
Definition: makeGlobal.h:40
std::unique_ptr< G > makeGlobal(edm::ParameterSet const &iPSet, G const *)
Definition: makeGlobal.h:31
HLT enums.
long double T