CMS 3D CMS Logo

ESSourceProductResolverTemplate.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_ESSourceProductResolverTemplate_h
2 #define FWCore_Framework_ESSourceProductResolverTemplate_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : ESSourceProductResolverTemplate
7 //
22 //
23 // Original Author: Chris Jones
24 // Created: 14/05/2020
25 //
26 
27 // system include files
28 
29 // user include files
31 
32 // forward declarations
33 
34 namespace edm::eventsetup {
35  template <typename DataT>
37  public:
39  : ESSourceProductResolverNonConcurrentBase(iQueue, iMutex) {}
40 
43 
44  // ---------- const member functions ---------------------
45 
46  // ---------- static member functions --------------------
47 
48  // ---------- member functions ---------------------------
49  protected:
55  virtual DataT const* fetch() const = 0;
56 
57  private:
58  void const* getAfterPrefetchImpl() const final { return fetch(); }
59  };
60 } // namespace edm::eventsetup
61 
62 #endif
static std::mutex mutex
Definition: Proxy.cc:8
ESSourceProductResolverTemplate(edm::SerialTaskQueue *iQueue, std::mutex *iMutex)
virtual DataT const * fetch() const =0
const ESSourceProductResolverTemplate & operator=(const ESSourceProductResolverTemplate &)=delete