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
26 
27 // forward declarations
28 namespace edm {
29  namespace stream {
30  namespace impl {
31  struct Last {};
32 
33  template <typename T, typename... U>
34  struct AbilityToCache : public AbilityToCache<U...> {};
35 
36  template <typename G, typename... U>
37  struct AbilityToCache<GlobalCache<G>, U...> : public AbilityToCache<U...> {
38  using GlobalCache = G;
39  };
40 
41  template <typename... CacheTypes, typename... U>
42  struct AbilityToCache<InputProcessBlockCache<CacheTypes...>, U...> : public AbilityToCache<U...> {
44  };
45 
46  template <typename R, typename... U>
47  struct AbilityToCache<RunCache<R>, U...> : public AbilityToCache<U...> {
48  using RunCache = R;
49  };
50 
51  template <typename L, typename... U>
52  struct AbilityToCache<LuminosityBlockCache<L>, U...> : public AbilityToCache<U...> {
54  };
55 
56  template <typename R, typename... U>
57  struct AbilityToCache<RunSummaryCache<R>, U...> : public AbilityToCache<U...> {
58  using RunSummaryCache = R;
59  };
60 
61  template <typename L, typename... U>
64  };
65 
66  template <>
67  struct AbilityToCache<Last> {
68  using GlobalCache = void;
70  using RunCache = void;
74  };
75 
76  } // namespace impl
77  template <typename... T>
78  struct CacheContexts : public impl::AbilityToCache<T..., impl::Last> {};
79  } // namespace stream
80 } // namespace edm
81 
82 #endif
dttmaxenums::L
Definition: DTTMax.h:29
edm::stream::CacheContexts
Definition: CacheContexts.h:78
edm::stream::impl::AbilityToCache< LuminosityBlockCache< L >, U... >::LuminosityBlockCache
L LuminosityBlockCache
Definition: CacheContexts.h:53
edm::stream::impl::AbilityToCache< Last >::RunSummaryCache
void RunSummaryCache
Definition: CacheContexts.h:72
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::Last
Definition: CacheContexts.h:31
edm::impl::InputProcessBlockCacheImpl< CacheTypes... >
edm::stream::impl::AbilityToCache< RunSummaryCache< R >, U... >::RunSummaryCache
R RunSummaryCache
Definition: CacheContexts.h:58
edm::stream::impl::AbilityToCache< RunCache< R >, U... >::RunCache
R RunCache
Definition: CacheContexts.h:48
InputProcessBlockCacheImpl.h
edm::stream::impl::AbilityToCache
Definition: CacheContexts.h:34
mitigatedMETSequence_cff.U
U
Definition: mitigatedMETSequence_cff.py:36
edm::stream::impl::AbilityToCache< Last >::LuminosityBlockSummaryCache
void LuminosityBlockSummaryCache
Definition: CacheContexts.h:73
edm::stream::impl::AbilityToCache< Last >::GlobalCache
void GlobalCache
Definition: CacheContexts.h:68
edm::stream::impl::AbilityToCache< Last >::LuminosityBlockCache
void LuminosityBlockCache
Definition: CacheContexts.h:71
impl
Definition: trackAlgoPriorityOrder.h:18
T
long double T
Definition: Basic3DVectorLD.h:48
moduleAbilities.h
edm::stream::impl::AbilityToCache< LuminosityBlockSummaryCache< L >, U... >::LuminosityBlockSummaryCache
L LuminosityBlockSummaryCache
Definition: CacheContexts.h:63
funct::void
TEMPL(T2) struct Divides void
Definition: Factorize.h:24
edm::stream::impl::AbilityToCache< GlobalCache< G >, U... >::GlobalCache
G GlobalCache
Definition: CacheContexts.h:38
edm::stream::impl::AbilityToCache< Last >::InputProcessBlockCache
void InputProcessBlockCache
Definition: CacheContexts.h:69
edm::stream::impl::AbilityToCache< Last >::RunCache
void RunCache
Definition: CacheContexts.h:70
dttmaxenums::R
Definition: DTTMax.h:29
cmssw_cycle_finder.G
G
Definition: cmssw_cycle_finder.py:154