CMS 3D CMS Logo

implementors.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_stream_implementors_h
2 #define FWCore_Framework_stream_implementors_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : implementors
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Fri, 02 Aug 2013 11:52:34 GMT
19 //
20 
21 // system include files
22 #include <memory>
23 
24 // user include files
29 
30 // forward declarations
31 namespace edm {
32 
33  namespace stream {
34  namespace impl {
35  class EmptyType {};
36 
37 
38  template <typename C>
40  public:
41  GlobalCacheHolder() = default;
42  GlobalCacheHolder( GlobalCacheHolder<C> const&) = delete;
43  GlobalCacheHolder<C>& operator=(GlobalCacheHolder<C> const&) = delete;
44 
45  void setGlobalCache(C const* iCache) {
46  cache_=iCache;
47  }
48  protected:
49  C const* globalCache() const { return cache_; }
50  private:
51  C const* cache_;
52  };
53 
54  template <typename C>
56  public:
57  RunCacheHolder() = default;
58  RunCacheHolder( RunCacheHolder<C> const&) = delete;
59  RunCacheHolder<C>& operator=(RunCacheHolder<C> const&) = delete;
60  void setRunCache(C const* iCache) { cache_=iCache; }
61  protected:
62  C const* runCache() const { return cache_; }
63  private:
64  C const* cache_;
65  };
66 
67  template <typename C>
69  public:
70  LuminosityBlockCacheHolder() = default;
73  void setLuminosityBlockCache(C const* iCache) { cache_=iCache; }
74  protected:
75  C const* luminosityBlockCache() const { return cache_; }
76  private:
77  C const* cache_;
78  };
79 
80  template <typename C>
82  public:
83  RunSummaryCacheHolder() = default;
85  RunSummaryCacheHolder<C>& operator=(RunSummaryCacheHolder<C> const&) = delete;
87  private:
88  virtual void endRunSummary(edm::Run const&, edm::EventSetup const&, C*) const = 0;
89  };
90 
91  template <typename C>
93  public:
98  private:
99 
100  virtual void endLuminosityBlockSummary(edm::LuminosityBlock const&, edm::EventSetup const&, C*) const = 0;
101  };
102 
103 
105  public:
106  BeginRunProducer() = default;
107  BeginRunProducer( BeginRunProducer const&) = delete;
108  BeginRunProducer& operator=(BeginRunProducer const&) = delete;
109 
112  };
113 
115  public:
116  EndRunProducer() = default;
117  EndRunProducer( EndRunProducer const&) = delete;
118  EndRunProducer& operator=(EndRunProducer const&) = delete;
119 
120  private:
121 
124  };
125 
127  public:
128  BeginLuminosityBlockProducer() = default;
131 
132  private:
135  };
136 
138  public:
139  EndLuminosityBlockProducer() = default;
141  EndLuminosityBlockProducer& operator=(EndLuminosityBlockProducer const&) = delete;
142 
143  private:
146  };
147  }
148  }
149 }
150 
151 
152 #endif
virtual ~RunSummaryCacheHolder() noexcept(false)
Definition: implementors.h:86
#define noexcept
virtual ~LuminosityBlockSummaryCacheHolder() noexcept(false)
Definition: implementors.h:97
void setGlobalCache(C const *iCache)
Definition: implementors.h:45
void setRunCache(C const *iCache)
Definition: implementors.h:60
HLT enums.
Definition: Run.h:43