CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DelayedReader.cc
Go to the documentation of this file.
3 
4 #include <mutex>
5 #include <cassert>
6 /*----------------------------------------------------------------------
7 
8 
9 ----------------------------------------------------------------------*/
10 
11 
12 namespace edm {
14 
15  std::unique_ptr<WrapperBase>
17  auto sr = sharedResources_();
18  std::unique_lock<SharedResourcesAcquirer> guard;
19  if(sr) {
20  guard =std::unique_lock<SharedResourcesAcquirer>(*sr);
21  }
22  return getProduct_(k, ep);
23  }
24 
27  return nullptr;
28  }
29 }
virtual ~DelayedReader()
virtual std::unique_ptr< WrapperBase > getProduct_(BranchKey const &k, EDProductGetter const *ep)=0
virtual std::unique_ptr< WrapperBase > getProduct(BranchKey const &k, EDProductGetter const *ep)
virtual SharedResourcesAcquirer * sharedResources_() const