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 EventPrincipal
7 uses input sources to retrieve EDProducts from external storage.
8 
9 ----------------------------------------------------------------------*/
10 
11 #include <memory>
12 #include "boost/shared_ptr.hpp"
14 
15 namespace edm {
16  class BranchKey;
17  class EDProductGetter;
18  class DelayedReader {
19  public:
20  virtual ~DelayedReader();
21  std::auto_ptr<EDProduct> getProduct(BranchKey const& k, EDProductGetter const* ep) {
22  return getProduct_(k, ep);
23  }
24  void mergeReaders(boost::shared_ptr<DelayedReader> other) {mergeReaders_(other);}
25  private:
26  virtual std::auto_ptr<EDProduct> getProduct_(BranchKey const& k, EDProductGetter const* ep) const = 0;
27  virtual void mergeReaders_(boost::shared_ptr<DelayedReader>) {}
28  };
29 }
30 
31 #endif
virtual ~DelayedReader()
std::auto_ptr< EDProduct > getProduct(BranchKey const &k, EDProductGetter const *ep)
Definition: DelayedReader.h:21
int k[5][pyjets_maxn]
virtual std::auto_ptr< EDProduct > getProduct_(BranchKey const &k, EDProductGetter const *ep) const =0
void mergeReaders(boost::shared_ptr< DelayedReader > other)
Definition: DelayedReader.h:24
virtual void mergeReaders_(boost::shared_ptr< DelayedReader >)
Definition: DelayedReader.h:27