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 #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
edm
HLT enums.
Definition: AlignableModifier.h:19
cms::cuda::stream
uint32_t const T *__restrict__ const uint32_t *__restrict__ int32_t int Histo::index_type cudaStream_t stream
Definition: HistoContainer.h:51
edm::stream::impl::makeStreamModule
T * makeStreamModule(edm::ParameterSet const &iPSet, DQMEDAnalyzerGlobalCache const *global)
Definition: DQMEDAnalyzer.h:15
edm::stream::impl::dummy_ptr
Definition: dummy_helpers.h:32
edm::ParameterSet
Definition: ParameterSet.h:47
ParameterSet
Definition: Functions.h:16
edm::stream::impl::makeGlobal
std::unique_ptr< G > makeGlobal(edm::ParameterSet const &iPSet, G const *)
Definition: makeGlobal.h:30
impl
Definition: trackAlgoPriorityOrder.h:18
T
long double T
Definition: Basic3DVectorLD.h:48
edm::stream::impl::makeInputProcessBlockCacheImpl
std::unique_ptr< G > makeInputProcessBlockCacheImpl(G const *)
Definition: makeGlobal.h:49
dummy_helpers.h
cmssw_cycle_finder.G
G
Definition: cmssw_cycle_finder.py:154