CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 #include <memory>
22 
24 
25 namespace edm {
26  class ParameterSet;
27  namespace stream {
28  namespace impl {
29  template <typename T, typename G>
30  std::unique_ptr<G> makeGlobal(edm::ParameterSet const& iPSet, G const*) {
31  return T::initializeGlobalCache(iPSet);
32  }
33  template <typename T>
34  dummy_ptr makeGlobal(edm::ParameterSet const& iPSet, void const*) {
35  return dummy_ptr();
36  }
37 
38  template <typename T, typename G>
39  T* makeStreamModule(edm::ParameterSet const& iPSet, G const* iGlobal) {
40  return new T(iPSet, iGlobal);
41  }
42 
43  template <typename T>
44  T* makeStreamModule(edm::ParameterSet const& iPSet, void const*) {
45  return new T(iPSet);
46  }
47 
48  template <typename G>
49  inline std::unique_ptr<G> makeInputProcessBlockCacheImpl(G const*) {
50  return std::make_unique<G>();
51  }
52 
53  inline dummy_ptr makeInputProcessBlockCacheImpl(void const*) { return dummy_ptr(); }
54 
55  } // namespace impl
56  } // namespace stream
57 } // namespace edm
58 #endif
std::unique_ptr< G > makeInputProcessBlockCacheImpl(G const *)
Definition: makeGlobal.h:49
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
std::unique_ptr< G > makeGlobal(edm::ParameterSet const &iPSet, G const *)
Definition: makeGlobal.h:30
T * makeStreamModule(edm::ParameterSet const &iPSet, DQMEDAnalyzerGlobalCache const *global)
Definition: DQMEDAnalyzer.h:15
long double T