CMS 3D CMS Logo

CacheContexts.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_stream_CacheContexts_h
2 #define FWCore_Framework_stream_CacheContexts_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : CacheContexts
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Fri, 02 Aug 2013 00:17:38 GMT
19 //
20 
21 // system include files
22 
23 // user include files
25 
26 // forward declarations
27 namespace edm {
28  namespace stream {
29  namespace impl {
30  struct Last {};
31 
32  template <typename T, typename... U>
33  struct AbilityToCache : public AbilityToCache<U...> {};
34 
35  template <typename G, typename... U>
36  struct AbilityToCache<GlobalCache<G>, U...> : public AbilityToCache<U...> {
37  typedef G GlobalCache;
38  };
39 
40  template <typename R, typename... U>
41  struct AbilityToCache<RunCache<R>, U...> : public AbilityToCache<U...> {
42  typedef R RunCache;
43  };
44 
45  template <typename L, typename... U>
46  struct AbilityToCache<LuminosityBlockCache<L>, U...> : public AbilityToCache<U...> {
48  };
49 
50  template <typename R, typename... U>
51  struct AbilityToCache<RunSummaryCache<R>, U...> : public AbilityToCache<U...> {
52  typedef R RunSummaryCache;
53  };
54 
55  template <typename L, typename... U>
58  };
59 
60  template <>
61  struct AbilityToCache<Last> {
62  typedef void GlobalCache;
63  typedef void RunCache;
64  typedef void LuminosityBlockCache;
65  typedef void RunSummaryCache;
67  };
68 
69  } // namespace impl
70  template <typename... T>
71  struct CacheContexts : public impl::AbilityToCache<T..., impl::Last> {};
72  } // namespace stream
73 } // namespace edm
74 
75 #endif
dttmaxenums::L
Definition: DTTMax.h:29
edm::stream::impl::AbilityToCache< RunCache< R >, U... >::RunCache
R RunCache
Definition: CacheContexts.h:42
edm::stream::CacheContexts
Definition: CacheContexts.h:71
edm::stream::impl::AbilityToCache< Last >::LuminosityBlockCache
void LuminosityBlockCache
Definition: CacheContexts.h:64
edm::stream::impl::AbilityToCache< LuminosityBlockSummaryCache< L >, U... >::LuminosityBlockSummaryCache
L LuminosityBlockSummaryCache
Definition: CacheContexts.h:57
edm
HLT enums.
Definition: AlignableModifier.h:19
cms::cuda::stream
cudaStream_t stream
Definition: HistoContainer.h:57
edm::stream::impl::AbilityToCache< LuminosityBlockCache< L >, U... >::LuminosityBlockCache
L LuminosityBlockCache
Definition: CacheContexts.h:47
callgraph.G
G
Definition: callgraph.py:17
edm::stream::impl::Last
Definition: CacheContexts.h:30
edm::stream::impl::AbilityToCache
Definition: CacheContexts.h:33
mitigatedMETSequence_cff.U
U
Definition: mitigatedMETSequence_cff.py:36
edm::stream::impl::AbilityToCache< Last >::RunCache
void RunCache
Definition: CacheContexts.h:63
edm::stream::impl::AbilityToCache< GlobalCache< G >, U... >::GlobalCache
G GlobalCache
Definition: CacheContexts.h:37
edm::stream::impl::AbilityToCache< Last >::LuminosityBlockSummaryCache
void LuminosityBlockSummaryCache
Definition: CacheContexts.h:66
impl
Definition: trackAlgoPriorityOrder.h:18
edm::stream::impl::AbilityToCache< Last >::RunSummaryCache
void RunSummaryCache
Definition: CacheContexts.h:65
T
long double T
Definition: Basic3DVectorLD.h:48
moduleAbilities.h
dttmaxenums::R
Definition: DTTMax.h:29
edm::stream::impl::AbilityToCache< Last >::GlobalCache
void GlobalCache
Definition: CacheContexts.h:62
edm::stream::impl::AbilityToCache< RunSummaryCache< R >, U... >::RunSummaryCache
R RunSummaryCache
Definition: CacheContexts.h:52