CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DelayedReader.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_DelayedReader_h
2 #define FWCore_Framework_DelayedReader_h
3 
4 /*----------------------------------------------------------------------
5 
6 DelayedReader: The abstract interface through which the Principal
7 uses input sources to retrieve EDProducts from external storage.
8 
9 ----------------------------------------------------------------------*/
10 
12 
13 #include <memory>
14 
15 namespace edm {
16  class BranchKey;
17  class EDProductGetter;
18  class WrapperInterfaceBase;
20  class DelayedReader {
21  public:
22  virtual ~DelayedReader();
24 
25  void mergeReaders(DelayedReader* other) {mergeReaders_(other);}
26  void reset() {reset_();}
27 
29  return sharedResources_();
30  }
31 
32 
33 
34  private:
35  virtual WrapperOwningHolder getProduct_(BranchKey const& k,
36  WrapperInterfaceBase const* interface,
37  EDProductGetter const* ep) const = 0;
38  virtual void mergeReaders_(DelayedReader*) = 0;
39  virtual void reset_() = 0;
41  };
42 }
43 
44 #endif
WrapperOwningHolder getProduct(BranchKey const &k, WrapperInterfaceBase const *interface, EDProductGetter const *ep)
void mergeReaders(DelayedReader *other)
Definition: DelayedReader.h:25
virtual ~DelayedReader()
virtual void mergeReaders_(DelayedReader *)=0
virtual WrapperOwningHolder getProduct_(BranchKey const &k, WrapperInterfaceBase const *interface, EDProductGetter const *ep) const =0
int k[5][pyjets_maxn]
virtual SharedResourcesAcquirer * sharedResources_() const
SharedResourcesAcquirer * sharedResources() const
Definition: DelayedReader.h:28
virtual void reset_()=0